I have read about when you are making a multicolumn index that the order matters and that typically you want the columns which will appear in the WHERE clauses first before others that would be in ORDER BY etc. However, won’t you also get a speed up if you just index each one separately? (apparently not as my own experiments show me that the combined index behavior can be much faster than simply having each one separately indexed). When should you use a multicolumn index and what types of queries does it give a boost to?
Share
A multi-column index will be the most effective for situations where all criteria are part of the multi-column index – even more so than having multiple single indexes.
Also, keep in mind, if you have a multi-column index, but don’t utilize the first column indexed by the multi-column index (or don’t otherwise start from the beginning and stay adjacent to previously-used indexes), the multi-column index won’t have any benefit. (For example, if I have an index over columns [B, C, D], but have a WHERE that only uses [C, D], this multi-column index will have no benefit.)
Reference: http://dev.mysql.com/doc/refman/5.0/en/multiple-column-indexes.html :