面试题答案
一键面试- 设计复合索引:应设计复合索引
(customer_id, order_date, order_amount)
。 - 设计思路及原因:
- 最左前缀原则:在查询中,经常根据
customer_id
和order_date
范围查询,将customer_id
放在索引最左边,符合最左前缀原则,这样能快速定位到特定客户。 - 范围查询:
order_date
放在第二位,因为它是范围查询字段。在customer_id
确定的基础上,对order_date
进行范围扫描可以快速筛选出符合日期范围的记录。 - 覆盖索引:把
order_amount
也包含在索引中,形成覆盖索引。这样查询时直接从索引中就能获取到order_amount
字段的值,无需回表操作,大大提高查询效率。
- 最左前缀原则:在查询中,经常根据