1.or关键字,or条件的列里面有未加索引的,索引会失效(因为查到没加索引的列时,还是会去全表搜索)
2.字段类型是字符串时,没有使用引号包起来,比如id为string类型,查询时id=10,但是传进来的不是string,mysql会做类型转换,导致索引失效
3.like查询是以%开头
4.联合索引,查询时的条件列不是联合索引中的第一个列,索引失效。当我们创建一个联合索引的时候,如(k1,k2,k3),相当于创建了(k1)、(k1,k2)和(k1,k2,k3)三个索引,查询时想用k3,那么k1和k2必须也要用到
5.对索引进行运算+-*/
6.使用!= 或者<>或者not in的时候,会导致索引失效