有A、B、C三个字段,存在两个高频查询,一是SELECT ... WHERE B = 200 AND C > 100,二是SELECT ... WHERE A = 300 AND B = 200 AND C > 100,请问应如何设计联合索引?
考察说明
考察联合索引最左前缀原则与覆盖查询优化能力
回答思路
- 能识别两个查询共有的等值条件并优先建立索引
- 能利用最左前缀原则设计索引顺序以同时服务两条查询
- 能分析范围条件C>100对后续索引列的影响
- 能说明覆盖索引(包含查询列)以回表为代价优化查询
- 能讨论索引选择性与联合索引列顺序的取舍
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。