有一个订单表,包含 orderid、userid、createdtime 字段,需要查询某一个用户在某个时间段内所有指定状态(status)的订单,如何创建索引?
考察说明
考察数据库索引设计对等值查询和范围查询的组合优化能力
回答思路
- 识别查询条件包含等值(userid、status)和范围(createdtime)
- 提出联合索引并正确排序:userid、status 在前,createdtime 在后
- 说明索引覆盖查询所需字段,避免回表
- 考虑数据量、区分度和维护成本
- 能讨论最左前缀原则和索引失效场景
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。