您的位置:首页 > 其它

如何避免索引失效

2019-03-26 19:17 134 查看
  1. 全值匹配
  2. 最佳左前缀法则(如果索引了多列,要遵守最左前缀法则。指得时查询从索引的最左前列开始并且不跳过索引中的列
  3. 不在索引列上左任何操作(计算、函数、(自动or手动)类型转换)。
    因为在索引列上做操作会导致索引失效而转向全表扫描
  4. 存储引擎不能使用索引中范围条件右边的列
  5. 尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *
  6. MySQL 在使用不等于(!= 或者 <>)的时候无法使用索引会导致全表扫描
  7. is null, is not null 也无法使用索引(关键字段最好也弄个默认值,比如-1或者其他XX,尽量不要设空值)
  8. like 以通配符开头(’%abc…’) MySQL索引会失效编程全表扫描的操作
    所以尽量把%写右边
    如果一定要在两边写% %,则可以使用覆盖索引。
  9. 字符串不加单引号会导致索引失效(因为违反了第3条)
  10. 少用or,用它来连接时会索引失效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: