Note
This view is available starting with V4.2.0.
Purpose
This view displays the plan information collected by executing the EXPLAIN PLAN statement for all tenants on all OBServer nodes.
Columns
Column |
Type |
Nullable |
Description |
|---|---|---|---|
| TENANT_ID | bigint(20) | NO | The ID of the tenant to which the plan information belongs.
NoteThis column is available starting with V4.3.5 BP1. |
| SVR_IP | varchar(46) | NO | The IP address of the node where the replica resides. |
| SVR_PORT | bigint(20) | NO | The port of the node where the replica resides. |
| PLAN_ID | bigint(20) | The plan ID. | |
| SQL_ID | varchar(32) | NO | The query ID. |
| DB_ID | bigint(20) | NO | The schema ID to which the query belongs. |
| PLAN_HASH | bigint(20) unsigned | NO | The hash value of the plan. |
| GMT_CREATE | timestamp(6) | NO | The time when the record was generated. |
| OPERATOR | varchar(255) | NO | The name of the operator (for example: TABLE SCAN, SORT). |
| OBJECT_NODE | varchar(40) | NO | If the current operator is related to a DBLINK, this column indicates the name of the DBLINK. |
| OBJECT_ID | bigint(20) | NO | The ID of the scanned object (for example: the ID of the physical table scanned by the TABLE SCAN operator). |
| OBJECT_OWNER | varchar(128) | NO | The user to which the scanned object belongs. |
| OBJECT_NAME | varchar(128) | NO | The name of the scanned object (for example: the name of the physical table scanned by the TABLE SCAN operator). |
| OBJECT_ALIAS | varchar(261) | NO | The alias of the scanned object (for example: the alias of the physical table scanned by the TABLE SCAN operator). |
| OBJECT_TYPE | varchar(20) | NO | The type of the scanned object (for example: SYNONYM, DBLINK, BASIC TABLE). |
| OPTIMIZER | varchar(4000) | NO | The index-related information (for example: the number of physical rows, logical rows, and table accesses, the type of statistics, and the version number of the statistics). |
| ID | bigint(20) | NO | The ID of the logical operator. |
| PARENT_ID | bigint(20) | NO | The ID of the parent operator of the logical operator. |
| DEPTH | bigint(20) | NO | The depth of the logical operator in the current plan, that is, the level of the binary plan tree. |
| POSITION | bigint(20) | NO | The position of the current logical operator among the child operators of the parent operator. |
| COST | bigint(20) | NO | The estimated cost calculated by the optimizer. |
| REAL_COST | bigint(20) | NO | The actual cost of the plan during the first execution (execution feedback information). |
| CARDINALITY | bigint(20) | NO | The estimated number of rows output by the current operator. |
| REAL_CARDINALITY | bigint(20) | NO | The actual number of rows output by the current operator during the first execution (execution feedback information). |
| IO_COST | bigint(20) | NO | The actual I/O overhead of the current operator during the first execution (execution feedback information). |
| CPU_COST | bigint(20) | NO | The actual CPU overhead of the current operator during the first execution (execution feedback information). |
| BYTES | bigint(20) | NO | The estimated width of the data of the current operator. |
| ROWSET | bigint(20) | NO | The vectorized size of the current operator. |
| OTHER_TAG | varchar(4000) | NO | The hints used in the current query. This column only stores the information of the first row in the plan. |
| PARTITION_START | varchar(4000) | NO | The partition information scanned by the TABLE SCAN operator. |
| OTHER | varchar(4000) | NO | The optimization information, for example: the plan type, parameterized information of Fast Parser, Plan Note, and constraint information hit by the plan. |
| ACCESS_PREDICATES | varchar(4000) | NO | The expression information that the current operator needs to access. |
| FILTER_PREDICATES | varchar(4000) | NO | The filter conditions of the current operator. |
| STARTUP_PREDICATES | varchar(4000) | NO | The startup conditions of the current operator. |
| PROJECTION | varchar(4000) | NO | The output expression information of the current operator. |
| SPECIAL_PREDICATES | varchar(4000) | NO | The specific expression information of the current operator, for example: Join Condition, GROUP EXPRS, and SORT EXPRS. |
| QBLOCK_NAME | varchar(128) | NO | The name of the query block to which the current operator belongs. |
| REMARKS | varchar(4000) | NO | The modification tracking information of qb_name. |
| OTHER_XML | varchar(4000) | NO | OUTLINE DATA |
Sample query
In the sys tenant, query the plan information collected by executing the EXPLAIN PLAN statement for all tenants on all nodes, and display one record.
obclient [oceanbase]> SELECT * FROM oceanbase.GV$OB_SQL_PLAN LIMIT 1\G
The query result is as follows:
*************************** 1. row ***************************
TENANT_ID: 1
SVR_IP: 11.xxx.xxx.xxx
SVR_PORT: 28825
PLAN_ID: 28790
SQL_ID: 359E40D6A4AB75171925325700759325
DB_ID: 500006
PLAN_HASH: 6388442502389984409
GMT_CREATE: 2025-03-26 10:26:41.039836
OPERATOR: EXPRESSION
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: 0
BYTES: 0
ROWSET: 1
OTHER_TAG: /*+
*/
PARTITION_START:
OTHER: Plan Type:
LOCAL
Note:
Degree of Parallelisim is 1 because of table property
ACCESS_PREDICATES:
FILTER_PREDICATES:
STARTUP_PREDICATES:
PROJECTION: output([database()])
SPECIAL_PREDICATES: values({database()})
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
