After I by hand create tables in MySQL, I add indexes individually for every area which i think I'll use for queries.

After I use phpMyAdmin to produce tables for me personally, and that i choose my indexes within the create-table form, I observe that phpMyAdmin combines my indexes into 1 (plus initially my).

What are the differences? Is a much better than another? By which situation?


This really is dependent in your queries. Some queries make smarter utilization of multicolumn indexes, some not. EXPLAIN is the friend.

Also an excellent resource is here now:

Neither is an especially good strategy, but when I needed to choose I'd select the multiple single indexes.

This is because a catalog are only able to be utilized if you are using all of the fields in almost any complete prefix from the index. For those who have a catalog (a, b, c, d, e, f) than the works acceptable for a question that filters on a or perhaps a query that filter on a and b, but it will likely be useless for any query blocking only on c.

There is no easy rule have a tendency to works best for selecting the very best indexes. You have to consider the kinds of queries you're making and select the indexes that will accelerate individuals particular queries. If you feel carefully concerning the order from the posts you'll find a small amount of indexes that'll be helpful for multiple different queries. For instance if in a single query you filter on a and b, and the other query you filter on only b then a catalog on (b, a) is going to be functional by both queries but a catalog an (a, b) won't.