4800万行数据库加载变慢 10个AI代理找出问题完成优化
一个包含4800万行数据的数据库加载异常缓慢,10个AI代理定位并修复了问题。
Anthropic工程师Thariq Shihipar将Claude Code与REA(推理-编码-调试)方法结合,重构了某个dashboard后台的查询语句。此前该dashboard打开需要耗时34秒。
工程师给AI代理提供了一份数据库快照和一周的查询日志,要求所有修改必须保证返回数据和原结果一致,才算有效改进。
REA负责对相似追踪记录分组,将它们分配到对应的调查任务。10个Claude Code代理分别处理不同工作:3个检查高开销查询和执行计划,3个重写查询并测试索引,2个对比新旧查询结果,2个重放dashboard会话并检查写入性能。
日志分析最终筛选出18种重复出现的查询模式。其中一个页面为了显示一个汇总数据,加载了客户的全部历史数据;另一个页面则为每个图表重复执行相同计算。
AI代理将重复计算迁移到一个共享查询中,随后检查了所有受影响的页面。有一个提议的索引虽然能加快某个dashboard的加载速度,但会拖慢写入速度,最终被审核驳回。
最终有15处查询修改通过审核,3处因为需要对已有工作负载明确预期行为暂未改动。
优化后,dashboard加载中位数时间从8.6秒缩短到0.7秒,最慢加载从34秒缩短到2.8秒,4800次结果对比未出现不匹配。两项加载指标都提升了约12倍,显示结果没有变化。
每一个通过的修改都附带查询计划、耗时测量和回滚脚本,工程师可以对照原查询逐一检查并单独应用修改。完整优化方案已公开。