索引失效几种情况
1.使用in、not in,会导致索引失效
失效的原因和 Mysql 的版本以及表中的数据量有关系,在 8.0 之后的版本是走索引的
2.or 分割的条件,如果 or 左边的条件存在索引,而右边的条件没有索引,不走索引
因为 OR 的含义就是两个只要满足一个即可,因此只有一个条件列进行了索引是没有意义的,只要有条件列没有进行索引,就会进行全表扫描,因此索引的条件列也会失效。
3.索引字段不是联合索引字段的最左字段
4.like 使用了 ‘%’模糊匹配
5.被索引字段使用了内置函数
使用了SUM(), MIN(), MAX(), COUNT(), and so forth