使用explain查询 查看key是否命中索引
1. 表层面,两个表关联时,如果两个表关联字段的的编码不同,不会走索引。如一个表时 utf8,另外一个表是utf8mb4;
2.like查询是以%开头,索引不会命中,放后面会命中
3.如果查询时,查询的字段类型没有写对,底层会隐式处理加上函数,不会命中
4.查询时,查询的索引字段用函数表示时不会命中
5.最左原则时,abc cba会走索引
6.使用in时,肯定会走索引,但是当IN的取值范围较大时会导致索引失效,走全表扫描。By the way:如果使用了 not in,则不走索引。