慢查询改写与索引方案
输入订单统计查询 → 产出改写语句与索引建法
适用场景
- 订单统计优化
- 索引设计
- 真实数据验证
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. 最后给两张执行计划对比,扫描行数与耗时各一列。
复制后直接粘贴到模型使用