-
%LIKE 开头的查询
eg:
select * from user where name LIKE '%a%';
-
数据类型出现隐式转换的时候 :使用正确的类型,才能使用索引
eg: name类型为varchar,查询语句为
select * from user where name=1;
-
不满足最左原则:查询使用复合索引的情况,第一个查询条件上没有索引,会全表扫描
eg: age字段上没有加索引,不满足最左原则
select * from user where age=12 and name='猫猫';
- mysql优化器判定全表扫描比使用索引效率要高: 基本是需要回表的数据太多了
可以使用 force index 强制使用索引 - 用or查询的语句
eg:
select * from user where age=12 or name='猫猫';