Mysql联合索引必须满足最左匹配原则吗
大家应该耳熟能详存在联合索引时,必须使用最左匹配原则。但是在实际使用过程中是这样子吗,我做了一个小实验。
建立一张表其中C2,C3,C4建立了联合索引

直接上sql和结果

第一条我们直接按照最左匹配C2/C3/C4来结果如下

可以看到完美使用了联合索引,一点都没浪费。第二条我们来试试最右匹配C4/C3/C2

结果竟然和最左一模一样,很奇怪吧,我们继续看第三条 乱序C3/C2/C4,结果也超出预料

最后看一眼C3/C4这样该不能用了吧

终于有一个正常的了,具体第二条第三条为什么可以呢,查了一圈猜测是mysql的执行优化器对我们的sql进行了优化,最后使其使用了联合索引,其实还是满足最左匹配原则的。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
