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

对于查询 select * from t where a=1 and b>1 and c=1 order by d,如何设计索引?

米哈游后端开发游戏技术原理方案权衡MySQL

考察说明

考察复合索引列顺序、范围条件与排序字段对索引设计的影响

回答思路

  1. 分析等值条件应放在索引最前面
  2. 范围条件 b>1 放在等值条件之后,且后续索引列失效
  3. order by d 可考虑利用索引排序或 filesort,视前缀匹配情况
  4. 结合数据分布和选择性给出方案并可提出覆盖索引优化