【数据库篇07】mysql优化-索引失效

28 阅读1分钟

什么情况下索引会引起失效?

给tb_seller创建联合索引,字段顺序:name,status,address image.png

  1. 违反最左前缀原则:如果索引了多列,要遵守最左前缀原则,指的时查询从索引的最左前列开始且不能跳过索引中的列。
    命中索引 image.png 未命中索引 image.png 命中索引name,但是adrress失效了 image.png
  2. 范围查询右边的列,不能使用索引
    命中索引name与status,但是adrress失效了 image.png
  3. 不要在索引列上进行运算操作,索引将失效 image.png
  4. 字符串不加单引号,造成索引失效 image.png mysql的查询优化器,会自动的进行类型转换,造成索引失效
  5. 以%开头的Like模糊查询,索引失效,如果仅仅是尾部模糊匹配,索引不会失效,如果是头部模糊匹配,索引失效 image.png