Mysql笔记

9/22/2021 Mysql

# Mysql

# 索引

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