mysql 索引优化

112 阅读1分钟

不适合添加索引

  • 索引不存null值(索引列使用is null是可以用到索引得)
  • 索引字段重复的值
  • 左固使用不到索引(where name like '%zhang' 想要使用到查询得值 只能是模糊得值 可以用到覆盖所有 例如:select name from where name like '%zhang%')

索引失效

  • or原则(全部条件有索引,否者失效。)
  • 复合索引必须有带头大哥 不然无法使用索引(例如: abc符合索引 使用到得是 abc ab ac)
  • 如果是字符串类型则需要带引号 否则用不到索引(例如:设phone字段是varchar 使用phone是 需要加引号 phone='18888889999')
  • where 条件后参与运算 不使用索引
  • 使用函数用不到索引
  • 数据少MySQL觉得没必要使用索引 用不到索引
  • juejin.cn/post/684490…