场景1:
like以%开头,索引失效,以%结尾,索引有效。
比如:select * from user where name like '%李'; 索引失效
select * from user where name like '李%'; 索引生效
场景2:
使用or的时候,左右字段只有一个是索引,该索引失效,只有左右查询字段均为索引时,才会生效
比如:
当name建立有索引,sex没有建立索引
select * from user where name ='李' or sex='男'; 索引无效
当name建立有索引,sex建立有索引
select * from user where name ='李' or sex='男'; 索引有效
场景3:
对应联合索引,必要满足最左匹配原则,否则索引无效。
创建联合索引:create index test on user(name,sex);
select * from user where name ='李' and sex='男'; 索引有效
select * from user where sex='男' and name ='李'; 索引无效
场景4:
在索引列上使用is null 或is not null 操作。
等等一系列场景。