a,b,c三个字段建立了联合索引;
查询条件:
where a=3 and b like 'k%kk%' and c=4;
为什么 a,b,c三个字段都走了索引?不应该是a,b两个字段走,c不走吗?
不对吧,不是应该只走了a索引吗?
原因是 b是模糊查询,并不会走索引,根据最左前缀原则,b不走,则c也不会走;
这个从索引长度可以看出来呀;
索引长度为 4或者5(没设置 not null的情况下为5)
很高兴得到你的采纳
这个视情况而定,如果b是一个固定值,那么实际上c也是走索引的,如果百分号在右边,同样c也是走索引的,所以这个视情况而定,
b的那个百分号在k前面的话就不会走索引了,b匹配k开头的字符串是走索引的。