说一下索引失效的场景?

2 分钟阅读 308 字 + 261 词
参考答案
索引失效意味着查询操作不能有效利用索引进行数据检索,从而导致性能下降 ,下面一些场景会发生索引失效。
  1. 使用OR条件 :当使用 OR连接多个条件,并且每个条件用到不同的索引列时,只要有条件列不为索引列 ,索引可能不会被使用。
  2. 使用非等值查询 :当使用 != <> 操作符时, 索引可能不会被使用 ,特别是当非等值条件在WHERE子句的开始部分时。
  3. 对列进行 类型转换 : 如果在查询中对 列进行类型转换 ,例如将 字符列转换为数字或日期 ,索引可能会失效。
  4. 使用LIKE左模糊语句 :以 通配符 % 开头的LIKE查询 会导致索引失效。
  5. 函数或表达式 :在列上使用 函数或表达式作为查询条件 ,通常会导致索引失效。
  6. 表连接中的列类型不匹配: 如果在连接操作中涉及的两个表的列类型不匹配,索引可能会失效。例如,一个表的列是整数,另一个表的列是字符,连接时可能会导致索引失效。