-
对索引列进行计算或函数操作:如
SELECT * FROM table WHERE YEAR(column) = 2021
。 -
使用
NOT
或<>
操作符:这会使得索引无法有效使用。 -
类型不匹配:如果列的类型与过滤条件中的类型不匹配,索引可能失效。
-
隐式类型转换:比如将字符串类型的字段与数字进行比较。
-
使用
OR
条件:如果OR
条件前后列不同,可能导致索引失效。 -
索引列部分使用:对于复合索引,如果查询条件未使用索引的最左前缀,则索引可能不会被使用。
-
LIKE模糊查询:以通配符开头的LIKE查询(如
LIKE '%abc'
)通常不会使用索引。 -
索引选择性不足:如果索引列的值大多相同(低选择性),优化器可能选择不使用索引。
面试专栏:Mysql索引失效
最新推荐文章于 2024-10-09 22:03:37 发布