后端岗位面试题更新 2026-08-05

如果一条查询语句的 GROUP BY 子句带有条件,例如 WHERE 条件也参与分组,那么仅在 GROUP BY 的条件列上建立索引能否加速查询?为什么?

深圳虾皮信息科技有限公司后端开发互联网/IT技术原理方案权衡问题排查

考察说明

考察对索引作用原理、查询执行计划以及 GROUP BY 与 WHERE 条件关系的理解

回答思路

  1. 能区分 WHERE 和 GROUP BY 在查询中的不同作用
  2. 能说明索引匹配查询条件(WHERE)和排序分组(GROUP BY)的基本原理
  3. 能分析在带条件的 GROUP BY 场景下,仅建 GROUP BY 列索引可能不够,需考虑 WHERE 列的过滤
  4. 能提及覆盖索引或复合索引对查询的优化效果
  5. 能建议通过执行计划(EXPLAIN)验证索引效果