Appearance
Mysql中九种索引失效场景分析
我们可以使用 explain 关键字修饰 sql 语句知道是否命中索引,命中了哪些索引 常见索引失效有以下九种原因:
- 不符合最左匹配原则
- 联合索引时,最左的索引必须出现在sql条件中
- 不正确得Like查询
- 使用like查询时,索引字段模糊查询使用左边的%,使用右模糊是没问题的.
- 对索引进行了计算或使用函数
- 索引列进行了类型转换,索引字段类型和条件值不是同一种类型,mysql会自动转换,转换之后不再具有索引功能
<>
不等于导致索引失效- order by导致索引失效
- 使用or导致索引失效
- select * 导致索引失效
- 范围查询时,数据量过多导致索引失效,所以范围查询时,尽可能让范围精确