一、索引失效:
①计算、函数、类型转换都会导致索引失效(其中类型转换不区分自动转换还是手动转换都会失效);
②SQL中使用!=或<>都会导致索引失效;
③is not null会导致索引失效;
④like模糊查询中%置于前会导致索引失效(like '%xx’或like ‘%xx%’);
⑤使用OR连接时OR的前后存在非索引列会导致索引失效;
⑥索引列中存在null值会导致索引失效;
⑦where条件中使用了多个索引列时,必须先使用最早建立的索引列,否则之后的索引失效;
⑧where条件中使用了带索引的列,则order by中索引字段失效,order by应避免多个字段排序;
⑨group by分组不使用索引。
二、索引生效:
①like模糊查询中%置于后不会导致索引失效(like ‘xx%’);
②where条件中使用is null判断是否为空不会导致索引失效;
③使用OR连接时,所有字段均为索引列不会导致索引失效。
…