在 OceanBase 中,如何查看执行计划
查看执行计划主要分为两种场景:一种是查看逻辑执行计划 ,另一种是查看实际物理执行计划 。
1. 查看逻辑执行计划 (EXPLAIN)
这是最基础的方法,用于在 SQL 执行前预测优化器会生成什么样的计划。它不包含 实际的运行数据(如实际行数、实际耗时)。
EXPLAIN SELECT * FROM table_name WHERE ...;
2.查看实际物理执行计划
当 SQL 已经执行过,查看其真实 跑过的计划是排查问题的关键。这通常需要查询系统视图。
方法 A:通过 gv$ob_plan_cache_plan_explain 视图 (最常用)
需要先获取 SQL 的 plan_id 。
- 获取
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;