SQL语句索引失效场景
时间: 2023-11-01 14:08:18 浏览: 110
mysql索引失效测试数据
SQL语句索引失效的场景主要包括以下几种情况:
1. 索引列使用了函数、表达式或者类型转换等操作,导致无法使用索引。
2. 对索引列进行了运算,如加减乘除或者取模等操作,也会导致索引失效。
3. 索引列参与了 OR 操作,因为OR操作会使得MySQL无法使用单个索引,必须使用全表扫描。
4. 索引列参与了 LIKE 操作,如果LIKE以通配符开头,如%abc,索引也会失效。
5. 索引列参与了 NOT 操作,因为NOT操作会使得MySQL无法使用索引,必须使用全表扫描。
6. 索引列参与了 IS NULL 操作,因为IS NULL操作只能使用索引的一部分,导致索引失效。
7. 索引列参与了比较操作时,如果比较操作中使用了函数或者表达式,也会导致索引失效。
8. 索引列的数据分布不均,如某个值的出现频率太高,导致MySQL认为使用索引扫描的行数太多,不如直接全表扫描。
阅读全文