1、like以%开头索引无效,当like以%/&结尾有效。
2、or语句两边没有全部使用索引
3、组合索引,使用的不是第一列索引,索引失效,即最左匹配规则。
4、数据类型出现隐式转换,如varchar不加单引号的时候可能会自动转换为int类型,这个时候索引失效。
5、在索引列上使用IS NULL或者IS NOT NULL时候,索引失效,因为索引是不索引空值的。
6、在索引字段上使用not 、<> 、!=时不会使用索引,对于这样的处理只会进行全表扫描(>=和=<可以使用索引)
7、对索引字段进行计算操作,函数操作时不会使用索引。
8、对全表扫描速度比索引速度快的时候不会使用索引。
mysql索引失效的原因
最新推荐文章于 2024-08-19 11:24:43 发布
本文探讨了数据库索引的一些常见问题,包括:1) like以%开头的无效索引;2) or语句未充分利用索引;3) 组合索引的最左匹配原则;4) 数据类型隐式转换导致索引失效;5) isnull和isnotnull操作不使用索引;6) 使用not、<>、!=时不使用索引;7) 索引字段上的计算和函数操作;8) 全表扫描优于索引的情况。了解这些点能帮助提升数据库查询效率。
摘要由CSDN通过智能技术生成