OushuDB 执行计划可视化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ff7200d6/oushudb-explain。
技能介绍
执行计划阅读的痛点
OushuDB(前身为 Apache HAWQ)的 EXPLAIN 输出包含大量分布式执行细节,纯文本的层级缩进难以直观展现节点间的父子关系与数据流动路径。当查询涉及多段(Segment)、多 Slice 的并行调度时,人工从文本中定位热点段、数据倾斜问题需要逐行交叉比对,耗时且容易遗漏关键指标,例如 MaxSegTime、LastSegRows 等段级统计。
解析与可视化流程
该技能的核心是一个两遍扫描的解析器(scripts/explain_parser.py),先将 EXPLAIN 文本转换为 PlanNode 树结构,再由渲染引擎(scripts/app.py)输出自包含的 HTML 页面。生成的页面包含五个视图:
- Plan:交互式树形流程图,点击节点展开详细属性
- Grid:以表格展示所有节点的段级指标
- Stats:按节点类型和表名聚合统计
- Query:查询基本信息
- Raw:原始文本对照
适用边界
该工具只做解析与展示,不修改查询、不重写计划,也无法替代数据库内部的优化器工作。EXPLAIN 输出的完整度取决于执行时是否开启了相应统计开关。
使用场景
- 拿到一段 OushuDB 慢查询的 EXPLAIN 文本,需要在几分钟内判断是哪个执行节点拖慢了整体耗时
- 对比两份结构相同但耗时差异明显的执行计划,找出数据倾斜或段级指标异常的具体节点
- 团队评审查询性能时,希望把纯文本的 EXPLAIN 输出渲染成可交互的 HTML 页面进行演示
- 排查 OushuDB 分布式查询中的 Slice 或 Dispatcher 统计异常,需要逐段查看各 Segment 的吞吐数据
适合人员
- 数据库管理员:每周排查 OushuDB 集群中的慢查询,需要快速定位段级性能瓶颈和数据倾斜
- 数据仓库工程师:编写复杂的分布式 SQL 后,要直观检查执行计划中的 Motion 节点和数据本地性
- 后端开发工程师:负责 OushuDB 查询优化,习惯用可视化工具辅助分析 EXPLAIN 文本而非纯手工阅读