通常,本视图提供的信息与打印出的EXPLAIN PLAN非常相似,不过,EXPLAIN PLAN显示的是理论上的计划,并不一定在执行的时候就会被使用, 但V$SQL_PLAN中包括的是实际被使用的计划。获自EXPLAIN PLAN语句的执行计划跟具体执行的计划可以不同,因为cursor可能被不同的session参数值编译(如,HASH_AREA_SIZE)。 V$SQL_PLAN中数...
2.v$sql_plan视图: 视图中包含一种方法,可以查询最近使用过的真正执行过的执行过的执行计划(VSQLPLANSTATISTICS提供了实际的执行统计信息,通过VSQL_PLAN_STATISTICS_ALL,可并列比较优化程序评估结果。) 语法: SELECTPLAN_TABLE_OUTPUTFROMTABLE(DBMS_XPLAN.DISPLAY_CURSOR('cfzo0...')); v$sql_plan查询结果中各列...
1、自动捕获基线,通过将optimizer_cature_sql_plan_baselines设置为true,优化器为重复执行两次以上的SQL语句生成并保存基线(可以系统级或会话级修改) 2、从SQL调优集合中加载,通过使用包dbms_spm.load_plans_from_sqlset来从SQL调优集合中加载基线 DECLARE l_plans_loaded PLS_INTEGER; BEGIN l_plans_loaded := DBM...
HASH_VALUE :库缓存中父语句的哈希值 SQL_ID :父游标的SQL ID PLAN_HASH_VALUE:当前游标计划的数字表示 FULL_PLAN_HASH_VALUE:当前游标完整计划的数字化表示 CHILD_ADDRESS:子游标的地址 CHILD_NUMBER:执行计划使用了多少子游标 TIMESTAMP:执行计划创建的时间 OPERATION:内部操作的名字 OPTIONS:在OPERATION列中可选...
inner join V$SQL_PLAN p on a.hash_value=p.hash_value V$SQL_PLAN视图提供了一种方法,可用于检查仍位于库高速缓存的游标的执行计划。此视图中的信息与 PLAN_TABLE 视图中的信息非常类似。但是,EXPLAIN PLAN 显示的是执行相应语句时可以使用的理论,而V$SQL_PLAN 包含实际使用的计划。通过 EXPLAIN PLAN 语句获取...
oracle 执行计划之v$sql_plan 从v$sql 里取出child_number,sql_id select t.sharable_mem,t.buffer_gets,t.DISK_READS,t.rows_processed,t.SORTS,t.EXECUTIONS,t.CPU_TIME/1000000,t.ELAPSED_TIME/1000000, --t.PHYSICAL_READ_BYTES, --11g里才有,10g没有,physical_write_bytes一样。
为了缓解这个问题Oracle 12c推出了SQL指令计划(SQL Plan Directives 以后简称SPD)功能,保存为了以后生成最优执行计划的一些指令和附加信息到字典表中,达到持久化的目的。 虽然到目前为止,只有一种SQL计划指令就是动态采样指令(DYNAMIC_SAMPLING),用于指示优化器使用动态统计信息,但相信以后该功能会进一步得到强化。
1、查询v$sql_plan: SQL> col "Query Plan_Table" format a100 SQL> select id,lpad(' ', 2*(level-1))||operation||''||options||' '||object_name||' '||decode(id, 0, 'Cost='||cost) "QueryPlan_Table" fromv$sql_plan startwith id = 0 ...
这里注意一下, • Adaptive Plans – 是在第一次执行的时候,从default plan变成adaptive plan。 • Automatic Re-optimization -是在第二次执行的时候 • Statistics Feedback 以前叫Cardinality Feedback • Dynamic Statistics 以前叫Dynamic Sampling • SQL Plan Directives(SPD) 到目前12.1为止,你可以认为...
虽然到目前为止,只有一种SQL计划指令就是动态采样指令(DYNAMIC_SAMPLING),用于指示优化器使用动态统计信息,但相信以后该功能会进一步得到强化。 另外,SQL计划指令(SQL Plan Directives)是基于查询表达式,而不是SQL语句,所以同一个SQL计划指令(SQL Plan Directives),可以被优化器应用多个SQL文中。