MqSql一定一定会索引失效的几种情况

使用explain查询  查看key是否命中索引

1. 表层面,两个表关联时,如果两个表关联字段的的编码不同,不会走索引。如一个表时 utf8,另外一个表是utf8mb4;

2.like查询是以%开头,索引不会命中,放后面会命中

3.如果查询时,查询的字段类型没有写对,底层会隐式处理加上函数,不会命中

4.查询时,查询的索引字段用函数表示时不会命中

5.最左原则时,abc   cba会走索引 

6.使用in时,肯定会走索引,但是当IN的取值范围较大时会导致索引失效,走全表扫描。By the way:如果使用了 not in,则不走索引。

原文地址:https://www.cnblogs.com/innocenter/p/14244472.html