mysql无法命中索引的情况

Posted C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql无法命中索引的情况相关的知识,希望对你有一定的参考价值。

  1、like "xx"
  
  2、使用函数
  
  3、or
  
  当or条件中有未建立索引的列时才失效
  
  一下情况还是会走索引(id和email是索引):
  
  select * from tb1 where id =1 or name = "kkk" and email = "123456";
  安装mysql:http://fix.cuohei.com/
  4、类型不一致
  
  如果是字符串类型,传入条件时必须用括号括起来
  
  5、!=
  
  如果是主键,还是会走索引
  
  6、>
  
  主键或索引类型是整数类型还是会走索引
  
  7、order by
  
  当根据索引排序时,选择的映射如果不是索引,,则不走索引;如果是对主键排序,还是会走索引
  
  select email from tb1 oreder by email
  
  8、组合索引最前缀
  
  如果组合索引为(name、email)
  
  name and email     使用索引
  
  name          使用索引
  
  email        不使用索引

以上是关于mysql无法命中索引的情况的主要内容,如果未能解决你的问题,请参考以下文章

10列举 创建索引但是无法命中索引的8种情况

MySQL的order by该如何避免“未命中索引“

MySQL的order by该如何避免“未命中索引“

MySQL的order by该如何避免“未命中索引“

MySQL的order by该如何避免“未命中索引“

mysql索引命中规则