用途:对 SQL 查询做系统性性能分析,覆盖查询结构解析、EXPLAIN 计划解读、反模式检测、索引建议与查询重写,并说明每项改动为何能提升性能。
主要能力:识别 SELECT *、索引列上使用函数、OR 条件、隐式类型转换、缺失连接条件、前导通配符 LIKE、相关子查询等反模式;解读 PostgreSQL、MySQL、SQLite 的 EXPLAIN 输出,分析扫描类型、连接方法、行数估算与成本热点;基于 WHERE、JOIN、ORDER BY、GROUP BY 给出索引建议,并可将相关子查询改写为 JOIN、用 EXISTS 替代 IN。
使用方式:需提供待优化 SQL、数据库引擎(不同引擎优化方式不同),表结构与大致行数、EXPLAIN 输出为可选但很有价值。支持 quick(单查询反模式扫描)、standard(查询加结构,含重写)、deep(含 EXPLAIN、结构与行数)三种范围。输出包含原始查询、问题清单、EXPLAIN 解读、建议索引、优化后查询与改动说明。
适用场景:开发期快速反馈、常规优化请求、生产性能排查。
限制:无 EXPLAIN 时建议为尽力而为;未知引擎需先确认;重写必须保证结果一致,语义变化需显式标注;索引有写入开销,不应推荐不会被实际负载使用的索引;若查询已足够优或问题在应用层(如 ORM 循环导致 N+1),应改在应用或工具层处理。