3.8 索引使用列题
例题1:全值匹配我最爱
假设:index(c1,c2,c3,c4)
在MySQL中存在优化器,他会自动把我们输入 4,3,2,1 的顺序转换为 1,2,3,4
此时生效的索引:c1...,c2,c3,c4
例题2:范围查询
如果按照聚合索引的顺序查询,范围查询前的字段(包括范围字段)索引会生效,范围后边的索引失效
此时生效的索引:c1,c2,c3
如果不按照聚合索引的顺序查询,MySQL...会使用自带的优化器把查询条件按照索引顺序进行排序,之后在进行筛选查询。...,直接使用c3进行排序,此时和c4没有什么关系
此时生效的索引:c1,c2
c1,c2索引都用到了,此时直接使用c4排序,导致c3出现断层,MySQL优化器不能直接进行排序,在内部进行了一次filesort...【索引优化口诀】
全值匹配我最爱,最左前缀要遵守;
带头大哥不能死,中间兄弟不能断;
索引列上少计算,范围之后全失效;
LIKE百分写最右,覆盖索引不写星;
复制代码
3.9 索引优化总结
对于单键索引