请解释联合索引的概念以及最左前缀原则的具体含义和应用场景。
考察说明
考查对联合索引结构及其使用规则的理解。
回答思路
- 【回答框架 1】联合索引是指在一个索引中包含多个列,例如在表上创建索引(a,b,c),该索引按a、b、c的顺序组织B+树,先按a排序,再按b排序,最后按c排序。
- 【回答框架 2】最左前缀原则是联合索引匹配规则:查询条件必须从索引最左侧列开始,且不能跳过中间列,否则后续列无法使用索引。例如索引(a,b,c),查询条件使用a、ab、abc时索引生效;使用b、bc、c时索引不生效。
- 【回答框架 3】实际应用时需根据查询模式调整列顺序,将等值查询列放在前面,频繁查询的列优先;范围查询列放在后面,并注意范围条件会中断后续列的索引匹配。
- 【关键点 1】联合索引按列顺序组织,最左列决定索引排序起点。
- 【关键点 2】最左前缀原则要求查询从最左列开始,跳过列或从中间列开始会导致索引失效。
- 【关键点 3】范围查询后方的列无法使用索引,需结合覆盖索引优化查询。
- 【易错点 1】误以为所有列都可以独立使用联合索引,忽略最左前缀原则。
- 【易错点 2】将范围查询列放在联合索引前部,导致后续列无法索引匹配。