![[红脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_63.c32f5b5.png)
索引失效的情况有哪些?
like 以 % 开头索引无效,当 like 以 & 结尾,索引有效
or 语句前后没有同时使用索引,当且仅当 or 语句查询条件的前后列均为索引时,索引生效
组合索引,使用的不是第一列索引时,索引失效,即最左匹配原则
数据类型出现隐式转换,如 varchar 不加单引号的时候可能会自动转换为 int 类型,这个时候索引失效
再索引列上使用 IS NULL 或者 IS NOT NULL 时候,索引失效,因为索引是不索引空值的
在索引字段上使用, NOT、<>、!= 时是不会使用索引的
对索引字段进行计算操作,函数操作时不会使用索引
当全表扫描速度比索引速度快的时候不会使用索引
like 以 % 开头索引无效,当 like 以 & 结尾,索引有效
or 语句前后没有同时使用索引,当且仅当 or 语句查询条件的前后列均为索引时,索引生效
组合索引,使用的不是第一列索引时,索引失效,即最左匹配原则
数据类型出现隐式转换,如 varchar 不加单引号的时候可能会自动转换为 int 类型,这个时候索引失效
再索引列上使用 IS NULL 或者 IS NOT NULL 时候,索引失效,因为索引是不索引空值的
在索引字段上使用, NOT、<>、!= 时是不会使用索引的
对索引字段进行计算操作,函数操作时不会使用索引
当全表扫描速度比索引速度快的时候不会使用索引
展开
评论
点赞