首批通过分布式安全可靠测评,为关键业务系统打造
GV$OB_SQL_PLAN
更新时间:2026-06-15 09:33:38
说明
该视图从 V4.2.0 版本开始引入。
功能描述
展示当前租户在所有 OBServer 节点上通过执行 EXPLAIN PLAN 收集到的计划信息。
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| TENANT_ID | bigint(20) | NO | 计划信息所属的租户 ID
说明该字段从 V4.3.5 BP1 版本开始引入。 |
| SVR_IP | varchar(46) | NO | 副本所在的节点地址 |
| SVR_PORT | bigint(20) | NO | 副本所在节点的端口 |
| PLAN_ID | bigint(20) | 计划 ID | |
| SQL_ID | varchar(32) | NO | 查询 ID |
| DB_ID | bigint(20) | NO | 查询所属的 Schema ID |
| PLAN_HASH | bigint(20) unsigned | NO | 计划的哈希值 |
| GMT_CREATE | timestamp(6) | NO | 记录生成时间 |
| OPERATOR | varchar(255) | NO | 算子名称(例如:TABLE SCAN、SORT) |
| OBJECT_NODE | varchar(40) | NO | 如果当前算子是 DBLINK 相关,则表示 dblink 的名称 |
| OBJECT_ID | bigint(20) | NO | 扫描对象 ID(例如:TABLE SCAN 算子扫描的物理表 ID) |
| OBJECT_OWNER | varchar(128) | NO | 扫描对象所属用户 |
| OBJECT_NAME | varchar(128) | NO | 扫描对象名称(例如:TABLE SCAN 算子扫描的物理表名称) |
| OBJECT_ALIAS | varchar(261) | NO | 扫描对象别名(例如:TABLE SCAN 算子扫描的物理表的别名) |
| OBJECT_TYPE | varchar(20) | NO | 扫描对象类型(例如:SYNONYM、DBLINK、BASIC TABLE) |
| OPTIMIZER | varchar(4000) | NO | 索引相关信息(例如:物理行、逻辑行、回表行数、使用的统计信息类型,统计信息版本号) |
| ID | bigint(20) | NO | 逻辑算子 ID |
| PARENT_ID | bigint(20) | NO | 逻辑算子的父算子 ID |
| DEPTH | bigint(20) | NO | 逻辑算子在当前计划的深度,即处在二叉计划树的第几层 |
| POSITION | bigint(20) | NO | 当前逻辑算子是父算子的第几个子节点的算子 |
| COST | bigint(20) | NO | 优化器估算的代价 |
| REAL_COST | bigint(20) | NO | 计划第一次执行时真实的代价(执行反馈信息) |
| CARDINALITY | bigint(20) | NO | 优化器估算当前算子的输出行数 |
| REAL_CARDINALITY | bigint(20) | NO | 计划第一次执行时当前算子的真实输出行数(执行反馈信息) |
| IO_COST | bigint(20) | NO | 计划第一次执行时当前算子的实际 IO 开销(执行反馈信息) |
| CPU_COST | bigint(20) | NO | 计划第一次执行时当前算子的实际 CPU 开销(执行反馈信息) |
| BYTES | bigint(20) | NO | 优化器估算当前算子数据的宽度 |
| ROWSET | bigint(20) | NO | 当前算子的向量化大小 |
| OTHER_TAG | varchar(4000) | NO | 当前查询使用过的 Hint,只在计划的第一行记录存放 |
| PARTITION_START | varchar(4000) | NO | TABLE SCAN 扫描的分区信息 |
| OTHER | varchar(4000) | NO | 优化信息,例如:计划类型、Fast Parser 的参数化信息、Plan Note、计划命中的约束信息 |
| ACCESS_PREDICATES | varchar(4000) | NO | 当前算子需要访问的表达式信息 |
| FILTER_PREDICATES | varchar(4000) | NO | 当前算子的过滤条件 |
| STARTUP_PREDICATES | varchar(4000) | NO | 当前算子的启动条件 |
| PROJECTION | varchar(4000) | NO | 当前算子的输出表达式信息 |
| SPECIAL_PREDICATES | varchar(4000) | NO | 当前算子的特有表达式信息,例如:Join Condition、GROUP EXPRS、SORT EXPRS 等等 |
| QBLOCK_NAME | varchar(128) | NO | 当前算子所处查询块的名称 |
| REMARKS | varchar(4000) | NO | qb_name 的修改追踪信息 |
| OTHER_XML | varchar(4000) | NO | OUTLINE DATA |
查询示例
用户租户下,查看本租户在所有节点上通过执行 EXPLAIN PLAN 收集到的计划信息,展示 1 条记录。
obclient [oceanbase]> SELECT * FROM oceanbase.GV$OB_SQL_PLAN LIMIT 1\G
查询结果如下:
*************************** 1. row ***************************
TENANT_ID: 1002
SVR_IP: 11.xxx.xxx.xxx
SVR_PORT: 28825
PLAN_ID: 3813
SQL_ID: 07E5B378A3CD3778A58E18DB9AD2A430
DB_ID: 201009
PLAN_HASH: 7420493073239164301
GMT_CREATE: 2025-03-25 17:35:21.524475
OPERATOR: LIMIT
OBJECT_NODE:
OBJECT_ID: 0
OBJECT_OWNER:
OBJECT_NAME:
OBJECT_ALIAS:
OBJECT_TYPE:
OPTIMIZER:
ID: 0
PARENT_ID: -1
DEPTH: 0
POSITION: 1
COST: 1
REAL_COST: 0
CARDINALITY: 1
REAL_CARDINALITY: 1
IO_COST: 0
CPU_COST: 71
BYTES: 0
ROWSET: 16
OTHER_TAG: /*+
*/
PARTITION_START:
OTHER: Plan Type:
LOCAL
Parameters:
:0 => 1
Note:
Degree of Parallelisim is 1 because of table property
ACCESS_PREDICATES:
FILTER_PREDICATES:
STARTUP_PREDICATES:
PROJECTION: output([get_sys_var('version_comment', 0)], [get_sys_var('version', 0)])
SPECIAL_PREDICATES: limit(1), offset(nil)
QBLOCK_NAME: SEL$1
REMARKS: stmt_id:0, SEL$1
OTHER_XML: /*+
BEGIN_OUTLINE_DATA
OPTIMIZER_FEATURES_ENABLE('4.3.5.1')
END_OUTLINE_DATA
*/
1 row in set