关于mysql联合索引最左匹配原则的问题

来源:3-9 索引额外问题之最左匹配原则的成因

慕数据5265627

2020-05-26

老师好,我在测试mysql联合索引最左匹配原则时,建立(a,b,c)联合索引,按照我的理解select * from tb where a = '1' and b > '1' and c > '1';这个SQL匹配到b>1时就不会继续向右匹配了,所以是不会走(a,b,c)的。但是explain发现是走(a,b,c)了,是什么原因呢?

写回答

1回答

翔仔

2020-05-27

同学好,可以看看key_len 其实它用的是(a,b) 因为(a,b,c) 会有 (a)(a,b)(a,b,c)三个索引,但是并没有走(a,b,c)

https://juejin.im/post/5da53e04e51d45782f663c04


0
1
慕数据5265627
非常感谢!
2020-05-27
共1条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程