mysql索引失效的情况总计

绝地灬酷狼 2022-12-10 06:00 311阅读 0赞

mysql索引失效的情况总计

  1. 1.like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效
  2. 2.or语句前后没有同时使用索引。当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效
  3. 3.组合索引,不是使用第一列索引,索引失效(eg where 后面的条件必须从组合索引的第一列开始,不能跨国第一列直接使用后面的,否则组合索引失效)
  4. 4.数据类型出现隐式转化。如varchar不加单引号的话可能会自动转换为int型,使索引无效,产生全表扫描
  5. 5.在索引字段上使用not,<>,!=。不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。 优化方法: key<>0 改为 key>0 or key<0
  6. 6.对索引字段进行计算操作、字段上使用函数
  7. 7.当全表扫描速度比索引速度快时,mysql会使用全表扫描,此时索引失效
  8. 8.在索引列上使用 IS NULL IS NOT NULL操作,索引不一定失效。
  9. 针对第八种情况,希望大家去尝试一下,

发表评论

表情:
评论列表 (有 0 条评论,311人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySql索引失效情况

    1、当全表扫描速度比索引速度快时,mysql会使用全表扫描,此时索引失效。 2、在索引字段上使用not,<>,!=。不等于操作符是永远不会用到索引的,因此对它的处理只会产生全