在 OceanBase 中,如何查看执行计划

在 OceanBase 中,如何查看执行计划

查看执行计划主要分为两种场景:一种是查看逻辑执行计划 ,另一种是查看实际物理执行计划

1. 查看逻辑执行计划 (EXPLAIN)

这是最基础的方法,用于在 SQL 执行前预测优化器会生成什么样的计划。它不包含 实际的运行数据(如实际行数、实际耗时)。

EXPLAIN SELECT * FROM table_name WHERE ...;

2.查看实际物理执行计划

当 SQL 已经执行过,查看其真实 跑过的计划是排查问题的关键。这通常需要查询系统视图。

方法 A:通过 gv$ob_plan_cache_plan_explain 视图 (最常用)

需要先获取 SQL 的 plan_id

  1. 获取 plan_id**
    gv$ob_sql_audit 视图中查找目标 SQL 的记录:
SELECT plan_id, sql_id, query_sql 
FROM oceanbase.gv$ob_sql_audit 
WHERE query_sql LIKE '%你的SQL片段%' 
ORDER BY request_time DESC 
LIMIT 1;