索引失效情况:
1、组合索引,某一条件使用范围查询的列,位于组合索引中该列右边的列不能使用索引(eg:index(name,age,sex), where name =‘AA’ and age >10 and sex=1 此时sex列索引不会生效,只走(name,age索引))
2、在索引列上做运算操作,索引失效
3、涉及隐式类型转换,字符串匹配不加单引号,相当于优化器做了运算操作,索引失效
4、OR子句中包含索引列和非索引列,则索引也不会生效,如果索引为复合索引 也不会生效
5、如果查询的字段不走覆盖索引,且模糊匹配%开头,此时索引不生效
6、两个索引同时可走时,mysql会选择优化器认为更快的索引
7、当检索的比例占总记录的一定比例(大概30%)后,不会走索引
…
MySql索引失效的情况汇总
最新推荐文章于 2025-04-03 10:29:43 发布