慢查询拆解与索引改写建议

输入慢 SQL、表结构与执行计划,输出改写语句与索引建议

更新于 今天

适用场景

  • 报表接口变慢,列表页分页卡顿,大表联合查询优化
PROMPT
数据分析师在 MySQL 上发现报表接口越来越慢,手头只有一条执行计划和表结构,想确认问题出在索引缺失还是查询写法上。

【需求】
1. 逐段解释执行计划里的访问类型、扫描行数与额外信息,指出最可疑的一行并说明判断依据。
2. 判断慢的原因是缺索引、索引失效还是写法导致回表,三种结论只能选一种。
3. 给出改写后的查询语句,保持业务语义不变,禁止使用全字段通配查询。
4. 列出建议新增或调整的两个索引,写明字段顺序与适用查询范围。
5. 给出上线前必须核对的三个风险点,例如写入放大和字段区分度不足。

【输出要求】
1. 先给一句结论,再给原语句与新语句的对照说明。
2. 索引建议用列表给出,每项包含字段顺序、预计收益和代价。
3. 所有结论标注前提条件,缺信息的地方写待确认而不是猜测。
4. 不输出建表语句与存储过程,全文保持可直接复制的篇幅。
5. 若执行计划显示回表明显,额外说明覆盖索引是否可行及原因。
标签
SQL 优化 数据库