怎么查看一条 SQL 在 OB 里的执行计划,重点要看哪几个字段判断性能?

【 使用环境 】 测试环境
【 OB】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

3 个赞

用以下sql查看执行计划详情:
EXPLAIN EXTENDED SELECT * FROM t1 WHERE col1 = 1\G
关键看以下字段:

  1. OPERATOR(算子类型)—— 最关键
    2.NAME(表 / 索引名)
  2. EST. ROWS(预估行数)
  3. COST(估算代价)
  4. Outputs & filters(过滤条件)
  5. PARTITIONS(访问分区数)
  6. 并行相关(extended 才有)

学到啦

先看是不是全表扫、再看扫多少分区、再看预估行数、最后看有没有额外排序,就能快速判断 SQL 要不要优化