mysql索引失效的原因

本文探讨了数据库索引的一些常见问题,包括:1) like以%开头的无效索引;2) or语句未充分利用索引;3) 组合索引的最左匹配原则;4) 数据类型隐式转换导致索引失效;5) isnull和isnotnull操作不使用索引;6) 使用not、<>、!=时不使用索引;7) 索引字段上的计算和函数操作;8) 全表扫描优于索引的情况。了解这些点能帮助提升数据库查询效率。
摘要由CSDN通过智能技术生成

1、like以%开头索引无效,当like以%/&结尾有效。
2、or语句两边没有全部使用索引
3、组合索引,使用的不是第一列索引,索引失效,即最左匹配规则。
4、数据类型出现隐式转换,如varchar不加单引号的时候可能会自动转换为int类型,这个时候索引失效。
5、在索引列上使用IS NULL或者IS NOT NULL时候,索引失效,因为索引是不索引空值的。
6、在索引字段上使用not 、<> 、!=时不会使用索引,对于这样的处理只会进行全表扫描(>=和=<可以使用索引)
7、对索引字段进行计算操作,函数操作时不会使用索引。
8、对全表扫描速度比索引速度快的时候不会使用索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值