Mysql笔记
9/22/2021 Mysql
# Mysql
# 索引
- 索引失效场景:
- 组合索引没有符合最左匹配原则。
- 对组合索引使用范围查询时,范围查询右部的索引会失效。
- 对索引列进行运算操作,因为索引建⽴时可能与计算后不同,⽆法定位到索引。
- 数据类型出现隐式转化。如varchar不加单引号的话可能会自动转换为int型,使索引无效,产生全表扫描。
- 用or分割开的条件, 如果or前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到,只有当or左右查询字段均为索引时,才会生效。
- 以%开头的Like模糊查询,索引失效。
- 如果MySQL评估使用索引比全表更慢,则不使用索引。
- is NULL , is NOT NULL 有时索引失效,同上一条。
- 在索引字段上使用not,<>,!=,不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。