【MySQL】Mysql避免索引失效的情况有哪些

1.使用多列作为索引,则需要遵循最左前缀匹配原则(查询从索引的最左前列开始并且不跳过索引中的列)

2.不再索引列上做任何操作,例如(计算,函数,(自动 or 手动的类型转换)),会导致索引失效而转向全表扫描

3.尽量使用覆盖索引(之访问索引列的查询),减少select *,覆盖索引能减少回表次数;

4.mysql再使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描

5.like以通配符开头(%abc) mysql索引会失效变成全表扫描的操作;

6.字符串不加单引号会导致索引失效(可能发生了索引列的隐式转换)

7.少用or,用它来连接时会索引失效;

 

posted @ 2020-03-23 14:27  听风是雨  阅读(1244)  评论(0编辑  收藏  举报
/* 看板娘 */