This is a pretty broad topic, and there is no way that I will be able to cover every facet of using indexes in your schema and queries in anything short of a small book, but the first step is getting your feet wet. I will be covering one of the most common causes for queries to run slowly, lack of indexes. This can cause simple queries to run slowly, but it has an exponentially increasing negative impact on performance when used on more complex queries, such as ones that use joins. In order to grasp this topic, it would be extremely helpful if you already have a basic grasp of how to use MySQL. Topics such as creating tables, and running queries should be pretty easy for you already. If you expand your basic grasp with some information on how to optimize those queries using indexing, continue on after the break.