1 、使用!= 或 <>
例如:name字段设置了索引,使用:
SELECT * FROM `user` WHERE `name` != '张三';
SQL语句查询,时进行了全表扫描,导致索引失效,最好可以看到type类型为all.
2、模糊查询导致索引失效
SELECT * FROM `user` WHERE `name` LIKE '%三';
模糊搜索如果你前缀也进行模糊搜索,那么不会走索引。
3 、对索引使用函数
有时候我们会用一些 MySQL 自带的函数来得到我们想要的结果,这时候要注意了,如果查询条件中对索引字段使用函数,就会导致索引失效。
select * from t_user where length(name) = 6;