<代码> DBMS_XPLAN 代码>
设置如果不存在创建<代码>斯科特> 代码模式。
<>以前康涅狄格州sysdba sys/密码 @ $ ORACLE_HOME/rdbms/admin/utlsampl。sql 引用>创建一个<代码> PLAN_TABLE> 代码如果它不存在。
<>以前康涅狄格州sysdba sys/密码 @ $ ORACLE_HOME/rdbms/admin/utlxplan.sql 创建公共同义词plan_table sys.plan_table; 格兰特sys.plan_table公共所有; 引用>
显示函数
<代码>显示> 代码函数允许我们显示执行计划存储在表中。首先,我们解释一个SQL语句。
<>以前康涅狄格州斯科特/老虎 解释计划 SELECT * 从emp e,部门d e.deptno=d.deptno 和e.ename=笆访芩埂? 引用>接下来我们使用<代码> DBMS_XPLAN。> 显示代码函数显示执行计划。
<>之前设置线宽130 设置页大小0 SELECT * 从表(DBMS_XPLAN.DISPLAY); ---------------------------------------------------------------------------------------- | | |操作Id名称| | |行字节成本(% CPU) | | ---------------------------------------------------------------------------------------- SELECT语句| 0 | | | 1 | 58 | 4 (0)| 00:00:01 | | 1 |嵌套循环| | | | | | | 2 |嵌套循环| | 1 | 58 | 4 (0)| 00:00:01 | | * 3 |表访问全部| EMP 38 | | 1 | 3 (0) | 00:00:01 | | * 4 |索引独特的扫描| PK_DEPT | 1 | | 0 (0) | 00:00:01 | | 5 |通过索引表访问ROWID |部门| 1 | 20 | 1 (0)| 00:00:01 | ---------------------------------------------------------------------------------------- 谓词信息(由操作id): --------------------------------------------------- 3 -过滤器(“E”。“ENAME”=笆访芩埂? 4 -访问(“E”,“DEPTNO”=癉”。“DEPTNO”) 18行选择。 SQL> 引用><代码> DBMS_XPLAN。> 显示代码函数可以接受三个可选参数:
<李>
table_name - <代码> PLAN_TABLE名称> 代码,默认值“PLAN_TABLE”。李李
> <>statement_id - id显示计划的声明。默认值为空,显示最近的执行计划的<代码> PLAN_TABLE> 代码。李李
> <>格式-控制水平的细节显示,默认值“典型”。其他值包括“基本”、“所有”,“连续”。还有一个无证“高级”设置。
李>
注意。李从Oracle 10 g版本2> <>
sql_id——<代码> sql_id> 代码声明的游标缓存。<代码> SQL_ID> 代码可以从<代码> V $ SQL代码>和<代码> V $ SQLAREA> 代码视图,或从<代码> V $会话使用<代码> 代码>视图PREV_SQL_ID> 代码列。如果省略,最近执行的光标显示会话。李李
> <>child_number——孩子的光标指定的<代码> SQL_ID> 代码参数。如果没有指定,所有游标为指定的<代码> SQL_ID diaplyed> 代码。李李
> <>格式——除了设置用于<代码>显示> 代码函数,这个函数也有“RUNSTATS_LAST”和“RUNSTATS_TOT”显示去年和总分别运行时统计数据。这些额外的格式选项需要“STATISTICS_LEVEL=所有”。李李
> <>李>
下面的示例展示了先进的输出查询“DEPTNO”)。 列投影信息(由操作id标识): ----------------------------------------------------------- 1 -“E”。“EMPNO”号,22,“E”。“ENAME”[VARCHAR2 10],“E”。“工作”(VARCHAR2 9), “E”,“经理”(数字,22),“E”。“HIREDATE”[日期7],“E”。“萨尔”号码,22, “E”。“通讯”(数字,22),“E”。“DEPTNO”号,22,“D”。“DEPTNO”号,22, “D”。“DNAME”[VARCHAR2 14],“D”。“疯狂的”(VARCHAR2, 13) 2 -“E”。“EMPNO”号,22,“E”。“ENAME”[VARCHAR2 10],“E”,“工作”(VARCHAR2, 9) “E”,“经理”(数字,22),“E”。“HIREDATE”[日期7],“E”。“萨尔”号码,22, “E”。“通讯”(数字,22),“E”。“DEPTNO”号,22,“D”.ROWID (ROWID (10), “D”。“DEPTNO”(数字,22) 3 -“E”。“EMPNO”号,22,“E”。“ENAME”[VARCHAR2 10],“E”。“工作”(VARCHAR2 9), “E”,“经理”(数字,22),“E”。“HIREDATE”[日期7],“E”。“萨尔”号码,22, “E”。“通讯”(数字,22),“E”。“DEPTNO”(数字,22) 4 -“D”.ROWID (ROWID (10),“D”。“DEPTNO”(数字,22) 5 -“D”。“DNAME”[VARCHAR2 14],“D”。“疯狂的”(VARCHAR2, 13) 67行选中。 SQL>
DBMS_XPLAN:显示Oracle执行计划