面试题答案
一键面试索引优化思路
为了优化根据用户 ID 和下单时间范围获取订单信息的查询性能,应创建复合索引。因为复合索引在查询时可以利用索引的最左前缀原则,当查询条件按照索引列顺序依次出现时,能快速定位到符合条件的数据,大大提高查询效率。在这个场景中,经常按照用户 ID 和下单时间范围查询,所以创建包含这两个字段的复合索引比较合适。
创建索引语句
CREATE INDEX idx_user_time ON orders (user_id, order_time);
上述语句在 orders
表上创建了名为 idx_user_time
的索引,该索引包含 user_id
和 order_time
两个字段。在查询时,如果 WHERE
子句中有 user_id
和 order_time
相关条件(user_id
在前,order_time
在后,且 order_time
支持范围查询),就可以使用该索引提高查询性能。