WorkBuddy通过本地轻量引擎、云端DBbrain深度诊断和提示词精准引导三层协同优化SQL。本地层实时预览执行计划并智能重写;DBbrain提供索引建议与等价SQL重写;提示词需明确字段、条件、关联逻辑和输出格式;分页强制游标替代OFFSET。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

WorkBuddy 优化 SQL 查询不是靠“换一个模型”,而是通过本地轻量引擎 + 云端深度诊断 + 提示词精准引导三层协同实现的。它不依赖外部大模型重写SQL,而是基于数据库结构、执行计划模拟和业务上下文做针对性干预。下面从实操角度讲清楚怎么用。
一、开启本地SQL优化辅助功能
这是最常用、响应最快的一层。无需联网,编辑器内实时生效:
- 在 SQL 编辑区写完语句后,点击右上角【执行计划预览】——系统会模拟执行路径,高亮扫描行数超 10 万的节点,并标出全表扫描、索引未命中等风险点
- 看到
SELECT *、WHERE UPPER(name) = 'A'或ORDER BY RAND()这类写法时,编辑器自动下划线+悬浮提示,比如:“建议改用具体字段列表”或“函数包裹索引字段将导致索引失效” - 启用【智能重写】开关后,对含子查询的语句(如
WHERE id IN (SELECT user_id FROM logs)),会弹出“转为 JOIN”选项,并同步显示成本估算对比(例如:原写法预估 842ms → JOIN 后预估 67ms) - 多表 JOIN 时,若已连接数据源并导入统计信息(如 PostgreSQL 的
ANALYZE结果),WorkBuddy 会提示“建议将结果集较小的表置于 LEFT JOIN 左侧”,并给出表行数参考
二、对接 DBbrain 实现深度诊断
当本地优化无法定位根因(如锁等待、隐式转换、缺失索引),就需要调用腾讯云 DBbrain 服务:
使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表
- 进入【设置】→【云服务集成】→【DBbrain】,用腾讯云主账号扫码授权(企业账号需管理员提前开通权限)
- 在 SQL 编辑器右侧工具栏打开【DBbrain 深度诊断】开关,执行任意 SELECT/UPDATE/DELETE 语句时,WorkBuddy 会自动透传完整上下文(含参数化模板、执行耗时、客户端 IP、慢日志片段)
- 诊断报告返回后,在结果面板新增【优化建议】标签页,内容包括:
– 推荐创建的索引语句(带字段顺序与排序方向)
– 重写后的等价 SQL(含注释说明改动点)
– 运营维度信息,如“该查询近 7 天在慢日志中出现 37 次,平均耗时 2.4s” - 点击【一键应用索引】,WorkBuddy 自动生成
CREATE INDEX CONCURRENTLY语句,并提交至目标库(仅限只读账号已授权 DDL 权限的场景)
三、用提示词约束生成高质量SQL
WorkBuddy 的 SQL 生成质量高度依赖输入指令。避免模糊表达,推荐按这四点写:
- 限定字段范围:不说“查用户数据”,而说“只查 user 表的 id、nickname、created_at 三个字段”
- 明确筛选条件:不说“最近的数据”,而说“where created_at >= '2026-09-01' and status = 'active'”
- 指定关联逻辑:不说“把订单和用户连起来”,而说“left join user on order.user_id = user.id,保留所有订单记录”
- 要求输出格式:结尾加上“返回 markdown 表格,按 gmv 降序,限制前 20 行”,能减少冗余结果和格式混乱
四、大表分页必须避开 OFFSET
WorkBuddy 默认识别 LIMIT OFFSET 写法,并主动建议替代方案。实际使用中可直接让其生成游标分页语句:
- 输入:“查 orders 表中 status='paid' 的订单,按 id 升序分页,每页 50 条,我要第 3 页” → WorkBuddy 会提醒“OFFSET 性能差,建议用游标分页”,并生成首次请求语句:
SELECT * FROM orders WHERE status = 'paid' ORDER BY id ASC LIMIT 50 - 拿到第 2 页最后一条记录的 id(如 1048576)后,再问:“继续查下一页,游标是 1048576” → 自动生成:
SELECT * FROM orders WHERE status = 'paid' AND id > 1048576 ORDER BY id ASC LIMIT 50 - 如需支持任意页跳转,可指令:“用分段主键范围方式生成第 100 页查询”,WorkBuddy 会先估算总行数,划分区间,再生成
BETWEEN查询
不复杂但容易忽略:优化效果是否落地,关键看有没有真正执行建议的索引、有没有关闭全表扫描习惯、有没有坚持用游标代替 OFFSET。WorkBuddy 不是黑盒改写工具,而是把专业 DBA 的判断过程可视化、可交互化。

















