不适合添加索引
- 索引不存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…