首先最左前缀法则适用于联合索引,什么是联合索引?简单来说就是表上多个列加起来组合成的一个索引(例1)。最左前缀法则指的是查询的时候从索引最左列开始并且不能跳过索引中的列。如果跳跃某一列后面的字段索引失效。(例2)
例1、
比如我们现在有个表emp 分别有id、name、age、gender、adress列
创建联合索引 create index ind_age_gender on emp(age,gender);
show index from emp;
这里创建的名为ind_age_gender的索引就是联合索引.
例2、
如图我创建了一个联合索引 性别、年龄、身份证号
第一次查询,索引最左测原则我查的带了gender这个最左测索引
第二次查询 ,索引没有带最左测索引gender 就发现失效了
第三次查询,带了最左测索引但是不是放在前面但是还是用到了索引
所以 总结下,首先最左前缀法只适用于联合索引,其次和最左测索引的位置没有关系主要看她是否存在。