面试题答案
一键面试原因
- 复合索引:为了优化查询某个用户在特定时间段内的订单总金额,创建复合索引是较为合适的选择。因为复合索引在查询时可以利用索引的最左前缀原则,提高查询效率。
- 字段顺序:
user_id
应放在复合索引的首位,因为查询条件首先是根据用户ID筛选;order_date
放在第二位,用于筛选特定时间段。这样的顺序能够最大程度匹配查询需求,减少全表扫描,快速定位到符合条件的数据。
创建索引的SQL语句
CREATE INDEX idx_user_date_amount ON orders (user_id, order_date);
此SQL语句创建了一个名为 idx_user_date_amount
的复合索引,涵盖 user_id
和 order_date
字段,能有效优化查询特定用户在特定时间段内订单总金额的查询性能。