面试真题

数据库 · 中等 · 腾讯

索引失效场景有哪些?

中等 数据库 🎤 腾讯
参考答案
结论:常见索引失效场景包括:对索引列进行函数操作或运算;隐式类型转换;模糊查询以%开头;OR连接非索引列;不符合最左前缀原则(联合索引);优化器认为全表更快;使用!=或NOT IN等否定条件;字符集不一致导致转换。原理:索引本质B+树有序结构,上述操作破坏有序性使无法走树搜索。例如 WHERE DATE(create_time)='2023-01-01' 对列用函数失效;LIKE '%abc' 前缀模糊丢失最左;联合索引(a,b,c)查询无a则失效。写SQL应避免索引列运算,注意类型匹配。
题目整理自公开面经,答案由校招宝自研生成,仅供参考