SQL 与数据库

慢查询改写与索引方案

输入订单统计查询 → 产出改写语句与索引建法

发布于 2026-10-27 16:11:26 浏览 8
返回列表

适用场景

  • 订单统计优化
  • 索引设计
  • 真实数据验证
PROMPT
订单统计接口响应 6 秒,负责人手上有查询语句和线上数据分布,这周要把它压到一秒内并给出索引方案。

【指令】
1. 把查询改写到一秒内,并给出对应索引建法。
2. 保留返回字段与排序,不改前端调用的接口签名。
3. 同时给改写前后的执行计划对比,标出扫描行数变化。

【上下文】
1. 表是订单主表,现有 800 万行,索引只有主键与商户单列。
2. 业务要求同一查询兼顾按商户与按时间两种筛法。
3. 写入高峰在每天上午,索引不宜过多。

【输入数据】
1. 条件:merchant_id 等值、create_time 区间、status 等值。
2. 排序:create_time 倒序,取前 20 条。
3. 现有执行计划扫描 780 万行,使用 filesort。

【输出要求】
1. 先给索引语句,字段顺序写清,说明为什么这样排。
2. 再给改写后的 SQL,标注改动点。
3. 最后给两张执行计划对比,扫描行数与耗时各一列。
复制后直接粘贴到模型使用
标签 性能优化SQL 优化数据库