没写一行诊断 SQL,却拿到一份可执行、可回滚的优化清单。
一、年底「蜗牛」老项目 该大扫除了
老项目,跑起来那叫一个慢。 该大扫除了,从数据库下手呗还一还技术债, 自己写了个 mysql-performance-analyzer 的 Skill 配合 AI 跑了一轮分析(说白了就是给 AI 装好的专业插件),拿到一份完整报告。
报告里某业务库的结论很实在,直接上数据:337 张表、7.4GB 左右,MySQL 5.5。InnoDB 缓冲池 512MB,报告里标了「严重不足」,推荐是 4~8GB;慢查询日志没开;table_open_cache 就 512,表却有 337 张;95.3% 还是 MyISAM。高/中/低优先级都分好了,每条建议都带回滚和验证 SQL,能直接当变更单用。
二、后端开发里用这条 Skill 能干啥、怎么用
能干啥:
- 老库/慢库摸底:接手的库一脸懵、不知道从哪下手,用 Skill 跑一轮,配置、表结构、碎片、引擎分布、高/中/低优先级建议都能拿到,直接当优化方案或评审材料。
- 某条 SQL 或某个接口慢:把 SQL、EXPLAIN 结果(或慢日志片段)扔给 AI,说要「查询优化专项」——执行计划解读、可落地改写、索引建议、验证口径都有。
- 单表要优化:给表 DDL、主要查询和 EXPLAIN,要「特定表深度分析」——索引缺失/冗余、SQL 改写、rows_examined/rows_sent 等验证指标。
- 线上抖动、锁、超时:把 processlist、innodb_status、错误日志片段给 AI,要「紧急故障诊断」——止血建议(可回滚)、根因假设、后续修复与验证。
怎么用:
启用这条 Skill,跟 AI 说清楚你要干啥(比如「帮我看下某库性能」「这条 SQL 慢,分析下」)。有 MySQL MCP 就连上库跑只读分析;没有的话就自己跑一遍 SHOW VARIABLES、SHOW STATUS、EXPLAIN 等,把结果贴进去或导出成文件给 AI。出来的就是一份带风险分级、回滚方式和验证 SQL 的报告,能直接当工单或评审依据。
三、用 mysql-performance-analyzer 做了啥?
流程没啥复杂的:连上目标库(或者按 Skill 要求给只读权限/导出信息),让 AI 按 Skill 跑一遍分析,等报告就行。
这条 Skill 的分析分三阶段:先快速诊断(连接、基础指标、问题初筛),再深度分析(慢查询、索引、锁、配置),最后给出优化建议(SQL/参数、实施顺序),还标好风险等级和回滚方式。
我这次跑的是内网某实例上的某业务库。报告里的数字大概是:337 张表、7.4GB 左右,MySQL 5.5。光看规模就知道,是个有年头的库了。
报告里暴露的问题,跟「老库」的刻板印象对上了:
- InnoDB 缓冲池就 512MB,相对 7GB 的数据量偏小,容易频繁打磁盘。
- 慢查询日志没开,平时到底哪条 SQL 慢,两眼一抹黑。
- table_open_cache 才 512,表却有 337 张,开表缓存很容易顶不住。
- 绝大部分是 MyISAM(报告里 95.3% 数据都是),还有碎片率偏高的表、索引过多的大表(比如报告里提到的「表 A」六百多万行、「表 B」五百多万行),该有的「老库病」一个没少。
我觉得最值的是「建议」部分:不是泛泛而谈,而是高/中/低优先级都分好了。比如高优先级里三条——开慢查询日志、加大 InnoDB 缓冲池、增大 table_open_cache——每条都带了类似 SET GLOBAL slow_query_log = 'ON'; 的示例、回滚命令和验证方式,直接抄进变更单,给 DBA 或运维做评审和上线就行。
报告里的库名、表名我按内部规范做了脱敏,这里也只写「某业务库」「表 A / 表 B」;数字结论(337 张表、7.4GB、512MB、95.3% MyISAM)都保留,你好感受下真实体量。
四、Skill 在后端开发里的优势
总结几条,你判断下要不要在自己团队里试:
1. 把「专业规范」内置进去
AI 不会瞎给建议,输出符合 DBA/架构的习惯:可验证、可回滚、风险分级。你拿到的是能直接当评审材料的清单,不是聊天里的一堆散装建议。
2. 省时间、可复用
Skill 配好一次,换库、换项目照样用。不用每次都重新教 AI「我们怎么做 MySQL 分析、边界在哪、输出长什么样」。
3. 降低误操作风险
只读、不改表结构、不改数据,特别适合「不敢乱动生产」的老项目。先让 AI 按 Skill 帮你探探路,拿到报告再决定哪些动作由人来执行、什么时候上。
4. 报告即文档
生成的报告能直接当优化清单或评审材料,和团队、DBA 对齐也方便:大家看的是一份结构化、带优先级和回滚说明的文档,不是零散的对话。
你们团队要是也有老库、慢查询、年底要交优化方案,可以试试给 AI 配一条 MySQL 性能分析 Skill,不写一行诊断 SQL 也能先把库的老底摸清。
五、小结
后端开发里,Skill 就是给 AI 划好专业边界、可复用的一套流程。用好了,不用自己写一堆诊断 SQL,也能拿到可执行、可回滚的优化清单。
老项目不用硬刚。从数据库下手,让 Skill 带着 AI 帮你把把脉:你拍板,AI 把建议写到可执行、可回滚的那一页。
你们在用哪些 Skill?欢迎评论区聊聊。
(文中数据库、表名已脱敏;数字结论来自真实分析报告,仅作说明用途。)