请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

老师好,我在测试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 00:50:51

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

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


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信