35.Oracle杂记——Oracle常用动态视图v$SQL_PLAN
视图V$SQL_PLAN为库缓存中的每个子游标执行计划信息。
描述如下:
sys@PDB1> desc v$sql_plan
Name Null? Type
------------------------------------------------------------- ------------------------------------
ADDRESS RAW(8)
HASH_VALUE NUMBER
SQL_ID VARCHAR2(13)
PLAN_HASH_VALUE NUMBER
FULL_PLAN_HASH_VALUE NUMBER
CHILD_ADDRESS RAW(8)
CHILD_NUMBER NUMBER
TIMESTAMP DATE
OPERATION VARCHAR2(30)
OPTIONS VARCHAR2(30)
OBJECT_NODE VARCHAR2(40)
OBJECT# NUMBER
OBJECT_OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(30)
OBJECT_ALIAS VARCHAR2(65)
OBJECT_TYPE VARCHAR2(20)
OPTIMIZER VARCHAR2(20)
ID NUMBER
PARENT_ID NUMBER
DEPTH NUMBER
POSITION NUMBER
SEARCH_COLUMNS NUMBER
COST NUMBER
CARDINALITY NUMBER
BYTES NUMBER
OTHER_TAG VARCHAR2(35)
PARTITION_START VARCHAR2(64)
PARTITION_STOP VARCHAR2(64)
PARTITION_ID NUMBER
OTHER VARCHAR2(4000)
DISTRIBUTION VARCHAR2(20)
CPU_COST NUMBER
IO_COST NUMBER
TEMP_SPACE NUMBER
ACCESS_PREDICATES VARCHAR2(4000)
FILTER_PREDICATES VARCHAR2(4000)
PROJECTION VARCHAR2(4000)
TIME NUMBER
QBLOCK_NAME VARCHAR2(30)
REMARKS VARCHAR2(4000)
OTHER_XML CLOB
CON_ID NUMBER
包含的列也不少,每个列的含义如下:
ADDRESS :游标父句柄的地址
HASH_VALUE :库缓存中父语句的哈希值
SQL_ID :父游标的SQL ID
PLAN_HASH_VALUE:当前游标计划的数字表示
FULL_PLAN_HASH_VALUE:当前游标完整计划的数字化表示
CHILD_ADDRESS:子游标的地址
CHILD_NUMBER:执行计划使用了多少子游标
TIMESTAMP:执行计划创建的时间
OPERATION:内部操作的名字
OPTIONS:在OPERATION列中可选的变量
OBJECT_NODE:数据库连接名字用于引用对象
OBJECT#:表或所有的对象号
OBJECT_OWNER:用户表或所有的用户名字
OBJECT_NAME:表或索引的名字
OBJECT_ALIAS:对象的别称
OBJECT_TYPE:对象类型
OPTIMIZER:计划中第一行的优化器当前模式
ID:执行计划中每个步骤的号
PARENT_ID:下一个执行步骤的ID
DEPTH :操作数的深度
POSITION:拥有相同PARENT_ID的排序位置
SEARCH_COLUMNS:在索引开始和停止键值的列数
COST:优化器基于CBO对此操作代价评估
CARDINALITY :通过CBO评估操作产生的行数
BYTES:通过CBO优化评估产生的字节数
OTHER_TAG:OTHER列的内存描述
PARTITION_START:访问分区的开始分区
PARTITION_STOP:访问分区的结束分区
PARTITION_ID:计算PARTITION_START和PARTITION_STOP列的一对值
OTHER:其他执行步骤相关的信息
DISTRIBUTION:存储分布的方法从生产查询服务器到消费查询服务器
CPU_COST:CPU消耗
IO_COST:IO消耗
TEMP_SPACE:TEMP表空间消耗
ACCESS_PREDICATES:在一个访问结构中用于定位行
FILTER_PREDICATES:产生之前过滤行
PROJECTION:通过操作产生的表达式
TIME:操作流逝的时间
QBLOCK_NAME:查询块的名字
REMARKS:备注
OTHER_XML:执行计划的附加信息
CON_ID:容器ID