MySQL 索引失效
- 全列匹配
- 最佳左前缀法则
- 不在索引列上做任何操作(计算、函数、自动、手动类型转换),会导致索引失效
- 存储引擎不能使用索引中范围条件右边的列
- 尽量使用覆盖索引(只访问索引的查询(索引和查询列一致)),少用:select *
- mysql 再使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描
- is null,is not null也无法使用索引
- like 以通配符开头(like ‘%abc‘),mysql索引失效会变成全表扫描的操作
- 字符串不加单引号索引失效
- 少用or,用他连接时索引回失效
优化口诀
全列匹配我最爱,最左前缀要遵守;
带头大哥不能死,中间兄弟不能断;
索引列上少计算,范围之后全失效;
LIKE百分写最右,覆盖索引不写星;
不等空值还有or,索引失效要少用;
相关推荐
ribavnu 2020-11-16
moyekongling 2020-11-13
Ida 2020-09-16
liuweiq 2020-09-09
要啥自行车一把梭 2020-11-12
vitasfly 2020-11-12
康慧欣 2020-09-10
CoderToy 2020-11-16
emmm00 2020-11-17
王艺强 2020-11-17
bianruifeng 2020-11-16
wangshuangbao 2020-11-13
苏康申 2020-11-13
vivenwan 2020-11-13
云中舞步 2020-11-12
aydh 2020-11-12
kuwoyinlehe 2020-11-12
minerk 2020-11-12