会导致索引丢失情况
1、在使用不等于 (!=或<>)时候,无法使用索引导致全局扫描
2、is null 、 is not null 无法使用索引
3、like 以通配符开头(如:‘%内容’),mysql 索引失效会导致全表扫描
4、字符串不加单引号,导致索引失效
5、少用or,用它连接是索引会失效
6、查询 sql 运行结果
explain select * from 表面
7、添加索引的语句
alter table 表名 add index idx_staffs_nameAgePos('字段名称')
注意事项
1、最佳左前缀法则
- 如果索引了多列,要遵守此规则;指的是从索引最左前列开始并且不跳过索引中的列
2、不在索引上做任何操作
- 计算、函数、(自动或手动)类型转换,会导致索引失效而转向全表扫描
3、存储引擎不能使用索引中范围条件右边列