用途:这是执行计划“阅读”参考,回答计划本身在说什么、哪些形态是已知问题。若用户目标是性能调优(为什么慢、如何加速、索引建议、回归排查),应改用 yb-query-analysis(若已安装);未安装时只做计划结构分析,并在盲区部分说明未运行分诊检查。
主要能力:按阶段解析计划——先判断计划类型(EXPLAIN、EXPLAIN ANALYZE、EXPLAIN (ANALYZE, BUFFERS)),YugabyteDB 建议使用 EXPLAIN (ANALYZE, DIST),DIST 暴露 Storage Read Requests、Storage Rows Scanned、Storage Table/Index Read Requests、Storage Write Requests 等分布式存储计数。随后解析节点属性(节点类型、关系名、估算/实际行数、loops、代价、实际时间、谓词、过滤移除行数、buffers),重点检查 Seq Scan、连接策略(YB Batched Nested Loop Join 与普通 Nested Loop 的 = ANY (ARRAY[…]) 批处理判别)、行数估算偏差、Hash 批次溢出、排序落盘等信号,并给出索引建议与修复方向。
使用方式:按 parse → identify issues → recommend fixes → present clearly 顺序推进;输出结构为计划类型、计划概览、🔴 关键问题、🟡 次要问题、✅ 建议操作、🔍 未检查项。
限制:计划无法反映事务冲突/重试、热点行/热点 tablet 争用、无效条件写、N+1 调用、锁等待等盲区;仅凭计划不得判定查询健康,需结合 pg_stat_statements 等交叉验证。具体 GUC、提示与修复步骤见 yb-query-analysis 相关文档。