SQL> @$ORACLE_HOME/rdbms/admin/utlxplan.sql
Table created.
SQL> desc plan_table;
Name Null? Type
----------------------------------------- -------- ----------------------------
STATEMENT_ID VARCHAR2(30)
TIMESTAMP DATE
REMARKS VARCHAR2(80)
OPERATION VARCHAR2(30)
OPTIONS VARCHAR2(255)
OBJECT_NODE VARCHAR2(128)
OBJECT_OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(30)
OBJECT_INSTANCE NUMBER(38)
OBJECT_TYPE VARCHAR2(30)
OPTIMIZER VARCHAR2(255)
SEARCH_COLUMNS NUMBER
ID NUMBER(38)
PARENT_ID NUMBER(38)
POSITION NUMBER(38)
COST NUMBER(38)
CARDINALITY NUMBER(38)
BYTES NUMBER(38)
OTHER_TAG VARCHAR2(255)
PARTITION_START VARCHAR2(255)
PARTITION_STOP VARCHAR2(255)
PARTITION_ID NUMBER(38)
OTHER LONG
DISTRIBUTION VARCHAR2(30)
CPU_COST NUMBER(38)
IO_COST NUMBER(38)
TEMP_SPACE NUMBER(38)
ACCESS_PREDICATES VARCHAR2(4000)
FILTER_PREDICATES VARCHAR2(4000)
表名并不一定要是plan_table, 但这是默认的表名,而且通常是最容易维持原样的方法。如果大家不想访问utlxplan.sql脚本,就可以手动创建该表。确保这里的列名与显示的数据类型相匹配就可以了。有时需要考虑在给定数据库中应该出现的计划表的数量。理论上,大家可以只创建一张计划表,并授权所有的用户对该表进行访问,而且让每个人都可以共享。实际上,最简单的就是让每个用户创建自己的计划表。
Oracle - SQL 优化 -------- > 创建计划表
最新推荐文章于 2024-09-09 14:18:52 发布