组合索引里面的索引单独使用有效吗?
组合索引,就是多个列组成一个索引。
划重点:最左前缀匹配原则是组合索引最重要的一个原则。
什么意思呢?我们举例说明,a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。就是说组合索引从最左匹配到最右,直到遇到范围查询,就停止。如果没有范围查询,理论上,里面的索引顺序随便调整。不过,实际中,查询需求频繁或者字段选择性高的列放在前面。