1.全值匹配,按需取数据尽量于索引重合 ;
2.最佳左前缀法则:即查询要从索引的最左列开始并且不跳过索引中的每一列,否则索引失效全表扫描;
3.不再索引列做出任何操作(计算、函数、类型转换),会导致索引失效而转向全表扫描;
4.存储引擎不能使用索引中范围条件右边的列;
5.尽量使用覆盖索引(只访问索引的查询)减少select * 操作;
6.mysql在使用非等值连接符(> < !=)的时候无法使用索引,导致全表扫描;
7.is null,is not null无法使用索引;
8.like以开头(’%abc…’)mysql索引失效会变成全表扫描类型;解决方案:%写在右边或者使用覆盖索引
9.字符串不加单引号索引失效;
10.少用or,用它连接时索引失效;
11.使用外连接查询(left join、right join)时将索引加在从表的匹配列;