参考答案
结论:联合索引失效常见于违反最左前缀、对列运算、类型转换、范围查询右侧失效等。要点: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+树按定义顺序排序,跳过最左列无法二分定位;优化器选全表扫描成本更低。