mysql索引优化助记口诀

博客分享了MySQL索引优化的口诀及解释。口诀涵盖不等、not null、or等情况对索引有效性的影响,强调全匹配和最左匹配原则。解释部分详细说明不同条件下索引的生效情况,如包含特定条件会使索引失效,索引列用函数和计算也会失效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

口诀

不等not null还有or,索引全中也无效;
大等小等is null,全索命中才有效;
除此全匹最高效,最左匹配要记牢;
大小跳索百分号,后面用索也无效;
索无函数和计算,才能保证索有效。

解释

sql中只要包含了!= not null or ,会导致sql中全部索引失效。但是 is null >= <= 不会。
>= <= is null只会有两种情况:只有在命中了全部索引,也就是组合索引中的索引全用到了才会都有效并且是全部有效,否则就全无效。

组合索引中除了上面的特例外,sql中用到的索引全部命中肯定效率最高,而且还要保证最左匹配原则
在最左匹配原则下,如果遇到大于号> ,小于号< ,跳过组合索引中的某个索引直接用下个索引列,like中的左%%号写最右边,写左边会导致索引失效),那么当前索引列有效,这些符号右边的索引列也会失效。
索引列上不要用函数和计算,函数和计算也会使索引失效。

外话

以上纯属个人总结,若有不对的地方还希望大家指出。不喜勿喷

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值