面试真题

数据库 · 中等 · 腾讯

联合索引在什么情况下会失效?

中等 数据库 🎤 腾讯
参考答案
结论:联合索引失效常见于违反最左前缀、对列运算、类型转换、范围查询右侧失效等。要点:1)最左前缀:索引(a,b,c),where b=1或where b=1 and c=2不走索引;2)范围查询:where a>1 and b=2,b及右侧失效;3)索引列函数/运算:where substr(a,1)=1或a+1=2失效;4)隐式转换:字符列a用数字where a=1(列是varchar)失效;5)不等于、or非索引列可能放弃索引。原理:B+树按定义顺序排序,跳过最左列无法二分定位;优化器选全表扫描成本更低。
题目整理自公开面经,答案由校招宝自研生成,仅供参考