ITPub博客

首页 > 数据库 > Oracle > dbms_xplan 函数包

dbms_xplan 函数包

原创 Oracle 作者:531968912 时间:2016-09-14 17:32:29 0 删除 编辑
dbms_xplan 函数包
DISPLAY函数用户显示存储在PLAN_TABLE中的执行计划。此外,如果从视图v$sql_plan_statistics_all 可以获得该执行计划的相关统计数据。DISPLAY可以格式化输出这些数据
参数描述:
TABLE_NAME:存储查询计划的表名(不区分大小写),默认值为PLAN_TABLE
STATEMENT_ID:SQL语句的ID。在PLAN_TABLE中,每条语句的执行计划都有一个唯一的ID来标识。这个ID可以在执行EXPLAIN PLAN命令时,通过SET STATEMENT_ID子句来指定。如果输入为null,则会获取最近一条被解释的语句。
eg:
FORMAT: 输出格式有几种 BASIC,TYPICAL,SERIAL,ALL格式
explain plan for select count(*) from seashell.paymentorder p, seashell.deal d where p.sequenceid = d.orderseqid and d.dealtype = 18 and p.ordercode = 930 and p.lastupdatetime >= to_date(:1,'yyyy-mm-dd hh24:mi:ss') and p.lastupdatetime<to_date(:2,'yyyy-mm-dd hh24:mi:ss');


select * from table(dbms_xplan.display(null,null,'ALL'));


DISPLAY_CURSOR函数可以显示内存中的一个或者多个游标的执行计划。
参数描述:
SQL_ID:所显示执行计划的SQL语句的SQLID,如果没有指定SQL_ID(指定为NULL),则默认会显示当前会话中最后一条执行的sql语句
CURSOR_CHILD_NO:语句的子游标序列号:我们知道,受执行环境的影响,一条sql语句可能会参数多个版本的子游标,每个子游标都会与一个执行计划相对应(多个子游标也可能映射同一个执行计划)。通过CURSOR_CHILD_NO可以限制仅显示某一个子游标的执行计划,如果不指定该参数,则会显示该语句的所有的子游标的执行计划。
FORMAT:格式化控制字符串。ADVANCED:高级格式。高级格式出了会输出完全格式中的所有内容外,还会视情况输出绑定变量窥视信息和计划概要信息。
select * from table(dbms_xplan.display_cursor('ax0fpkfmr5ucx',null,'advanced'));


DISPLAY_AWR函数显示存储在AWR历史数据的执行计划
SQL_ID:所显示执行计划的SQL语句的SQLID。该参数必须指定为非空值,没有默认值。
PLAN_HASH_VALUE:执行计划的HASH值。每个执行计划都有一个HASH值。通过该值,可以显示SQL语句特定的执行计划。
DB_ID。执行哪个数据库的执行计划。默认为本地数据库ID
select * from table(dbms_xplan.display_awr('ax0fpkfmr5ucx',null,'advanced'));

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25462274/viewspace-2125000/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: linux top命令详解
请登录后发表评论 登录
全部评论

注册时间:2014-09-24

  • 博文量
    576
  • 访问量
    1111411