索引失效情况

1  like以通配符开头('%abc...')。

2 如果字段是字符串类型且没加单引号或数字类型加单引号。

3 is null或者is not null 。

4 使用不等于(<,>,!=)。

5  对于组合索引,要遵守最左前缀法则。指的是查询要从索引的最左前列开始并且不跳过索引中的列。

例如有user_info表有组合索引:name,age,user_id

select * from user_info t where t.age = 20;//不会使用索引

select * from user_info t where t.user_id = '411321199203211234';//不会使用索引

select * from user_info t where t.name = 'Tom'; //会使用索引

6 对索引列进行计算、函数、类型转换。

7 使用or

8 尽量使用覆盖索引(只访问索引的查询(索引和查询列一致)),减少select*。——按需取数据用多少取多少。

猜你喜欢

转载自www.cnblogs.com/xiao-lei/p/10957686.html
今日推荐