慢查询日志不再是DBA专属——我把SQL优化建议的产出做成了流水线
一个管理者的困扰
我们团队规模不大,十来个人,没有专职DBA。数据库出了性能问题,通常是业务开发同学顺手处理。慢查询日志每周都在增长,但真正被消化掉的很少。
作为技术负责人,我面临的问题不是“没人会优化SQL”,而是三个更隐蔽的管理问题:
第一,处理慢查询依赖个人状态。 同学A心情好、有空,就会认真看几条日志;忙起来就堆着。知识全在个人脑子里,人一休假,优化工作就停摆。
第二,建议质量参差不齐。 不同人给出的优化方案深度差异很大。有人只说“加个索引”,有人会分析执行计划。评审时我没法快速判断哪些建议是靠谱的。
第三,风险不可控。 最怕的是有人直接在线上库执行一个“看起来没问题”的索引变更,结果锁表了。我需要的是建议先被结构化地审视,而不是即兴操作。
后来我意识到,AI恰好能补上这一环:它不休假、输出格式稳定、且永远先“建议”而不是先“动手”。于是我把慢查询优化做成了一条半自动流水线。
流水线的四个环节
改造后的流程是这样的:
环节一:日志收集与脱敏(人工,5分钟)。
每周一从数据库导出上周慢查询日志,用一个简单脚本做脱敏——表名保留结构、业务数据替换成占位符。这一步必须人工把关,因为涉及数据安全,我不会让原始数据直接流向任何外部服务。
环节二:AI批量翻译(自动)。
把脱敏后的日志交给AI,要求它输出统一格式的分析报告。这是整条流水线的核心,下面详说。
环节三:人工复核(技术骨干,30分钟)。
AI报告先到一位资深同学手里做复核,标注“同意/存疑/驳回”。这一步不能省——AI的建议是起点,不是终点。
环节四:排期与执行(既有流程)。
复核通过的建议进入正常的变更流程,走评审、走灰度。AI改变了建议的“生产效率”,但没有改变“上线纪律”。
核心提示词模板
环节二用的提示词,经过几轮迭代后稳定下来,供参考:
你是一位资深数据库性能优化顾问。以下是脱敏后的MySQL慢查询日志片段。
请对每条慢查询输出以下结构化分析:
## 查询 N
1. 【问题摘要】一句话说明这条SQL慢的可能原因
2. 【原因分析】基于SQL结构推断,涉及哪些字段、可能的扫描方式
3. 【优化建议】按优先级列出,每条注明:
- 预期收益(高/中/低)
- 执行风险(是否锁表、是否影响写入)
- 验证方法(执行前后如何对比)
4. 【需要人工确认的信息】列出AI无法从日志判断、
必须由DBA或开发确认的前置条件(如表行数、现有索引)
约束:
- 不要给出直接执行的DDL语句,只描述变更意图
- 信息不足时明确说"信息不足",不要猜测
- 按影响程度排序输出
慢查询日志:
{粘贴脱敏后的日志}两个设计意图值得说明:一是禁止AI直接产出DDL——防止有人复制粘贴就上生产;二是强制输出“需人工确认”清单——这让复核环节有了明确的检查项,而不是漫无目的地看一遍。
前后对比
改造前的典型一周:
慢查询日志积压,谁有空谁看。一个月下来,真正被处理的查询不到十条,且处理过程没有沉淀。新人接手时要从头理解每条历史SQL的背景。有一次同学凭经验加了个索引,没评估锁表影响,高峰期线上抖了十分钟。
改造后的典型一周:
周一上午脱敏导出,AI半小时内产出覆盖全部慢查询的结构化报告。资深同学复核时,大部分低风险建议(如补充缺失的复合索引)直接放行,少数高风险项(如大表变更)被标注出来进入专项讨论。一周消化量从十条以下提升到三四十条,且每条建议都有完整的分析记录,新人拿报告就能理解上下文。
更重要的是管理层面的变化:
- 知识沉淀了。 AI报告加人工批注,本身就是一份可检索的优化档案。
- 风险前置了。 “执行风险”和“需人工确认”两个字段,让危险操作在复核阶段就被拦下,而不是在执行后才发现。
- 协作清晰了。 开发同学不再凭个人状态决定做不做优化,复核人有了明确职责,我作为管理者看汇总数据就知道这周的消化率和驳回率。
几点踩坑提醒
- AI会自信地给错索引。 复核环节驳回过几次看似合理但字段顺序错误的复合索引建议。AI报告的可信度大概七八成,剩下两三成正是人工的价值所在。
- 脱敏别偷懒。 哪怕是内部工具,也建议默认脱敏后再送出。
- 控制单次输入量。 日志太长会导致后半段分析质量下降,建议按百条以内分批。
写在最后
这类“日志翻译”场景对模型能力的要求其实不高,普通商用模型就够用,成本也主要来自调用量——具体以官网价格页为准。如果你的团队也在用API跑类似的分析任务,或者想统一管理多个模型的调用与开销,可以看看 https://api.thistoken.ai/register ,一个聚合入口管理多家模型,对独立开发者和小团队比较友好。
慢查询日志本身不产生价值,被消化的慢查询才产生价值。而让“消化”这件事变得稳定、可复核、低风险,正是AI在这条流水线里最实在的贡献。
---
本文的示例只需一个 API Key 就能复现:在 https://api.thistoken.ai/register 注册即用。