SuperAPI AI 工具集

db-optimize

数据与分析

查看项目

更新于 10-16 08:05

技能介绍

用途:对代码库执行数据库性能审计,覆盖 N+1 检测、EXPLAIN 分析、慢查询日志审查、索引缺口、连接机会与按端点调用次数统计。

主要能力与流程:

  1. 检查 DBMAP.md 是否存在,命令为 [ -f DBMAP.md ] && echo "DBMAP_EXISTS=true" || echo "DBMAP_EXISTS=false"。若不存在需先运行 /dbmap。
  2. 慢查询日志:PostgreSQL 可查 pg_stat_statements,MySQL 可查 slow_query_log 变量;不可用时扫描代码库中日志文件。报告最慢 10 条查询,含调用次数、平均与总耗时。
  3. EXPLAIN 分析:对慢查询执行 EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT),标记大表 Seq Scan、高行数 Nested Loop、高内存 Hash Join、无索引 Sort、估算与实际行数偏差等。
  4. N+1 检测:扫描循环内的数据库调用(.find、.where、.query、.fetch、.get、.filter、.select)以及循环中访问未预加载的关联,建议使用 includes/eager_load/preload。
  5. 按端点审计:统计路由处理器中的直接 SQL 与 ORM 调用,循环内调用按 N 次计,超过 3 次列为优化候选。
  6. 连接机会:识别两次顺序查询可合并为 LEFT JOIN 的模式。
  7. 汇总报告:按 Critical、High Priority、Optimization Opportunities 分级并给出后续步骤,最后询问用户是否实施修复。

限制:资料未提供支持的数据库版本范围、具体性能基准、收费或价格信息,也未说明在无 DBMAP.md、无数据库访问权限时的完整降级方案。