Answers
多个单列索引,MySQL只能用到其中的那个它认为似乎是最有效率的单列索引。
条件复杂时,组合索引肯定比单列性能要好,但一些额外条件下不同.
有一篇文章就是介绍这个的, Multi Column indexes vs Index Merge ,具体你可以看这篇文章,我只说下结论
- 对于具有2个用and连接条件的语句,且2个列之间的关联度较低的情况下, 组合索引 有一定优势。
- 对于具有2个用and连接条件的语句,且2个列之间的关联度较高的情况下, 组合索引 有很大优势。
- 对于具有2个用or连接条件的语句, 单列索引 有一定优势,因为这种情况下 组合索引 将会导致全表扫描,而前者可以用到index merge的优化。
数据对比
资料参考
复合索引和多个单列索引的效率比较
keylito
answered 10 years, 6 months ago