【数据库】索引哪些情况下会失效呢?(约123字)

索引哪些情况下会失效呢?

  • 在索引列上使用函数或表达式:索引可能无法使用,因为 MySQL 无法预先计算出函数或表达式的结果。例如:SELECT * FROM table WHERE YEAR(date_column) = 2021
  • 使用不等于(<>)或者 NOT 操作符:因为它们会扫描全表。
  • 使用 LIKE 语句,但通配符在前面:以“%”或者“_”开头,索引也无法使用。例如:SELECT * FROM table WHERE column LIKE '%abc'
  • 联合索引,但 WHERE 不满足最左前缀原则,索引无法起效。例如:SELECT * FROM table WHERE column2 = 2,联合索引为 (column1, column2)

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容