要显示计划表输出,可以使用SQL脚本或DBMS_XPLAN程序包。
解释了计划之后,请使用以下SQL脚本或Oracle数据库提供的PL / SQL包来显示最新的计划表输出:
DBMS_XPLAN.DISPLAY表功能此功能接受用于显示计划表输出的选项。您可以指定:
- 计划表名称(如果使用的计划表不是默认的
PLAN_TABLE) - 声明ID(如果已使用设置了声明ID)
EXPLAIN PLAN - 格式选项,确定细节的级别:
BASIC,SERIAL,TYPICAL,和ALL
DBMS_XPLAN用于显示PLAN_TABLE输出的示例如下:SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY()); SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY('MY_PLAN_TABLE', 'st1','TYPICAL'));- 计划表名称(如果使用的计划表不是默认的
utlxpls.sql :该脚本显示计划表输出以进行串行处理utlxplp.sql :该脚本显示包括并行执行列的计划表输出。
也可以看看:
《 Oracle数据库PL / SQL软件包和类型参考》以获取有关该DBMS_XPLAN软件包的 更多信息
6.3.1.1 DBMS_XPLAN显示功能
您可以使用DBMS_XPLAN显示功能显示计划。
显示功能接受用于显示计划表输出的选项。您可以指定:
- 计划表名称(如果使用的计划表不是默认的
PLAN_TABLE) - 声明ID(如果已使用设置了声明ID)
EXPLAIN PLAN - 格式选项,确定细节的级别:
BASIC,SERIAL,TYPICAL,ALL,和在某些情况下ADAPTIVE
表6-1 DBMS_XPLAN显示功能
| 显示功能 | 笔记 |
|---|---|
| 该表功能显示计划表的内容。 此外,您可以使用此表功能显示表中存储的任何计划(有或没有统计信息),只要此表的各列与计划表的列相同(或 该 |
| 该表函数显示存储在AWR中的执行计划的内容。 该 |
| 此表函数显示在游标缓存中加载的任何游标的说明计划。除了说明计划外,还可以报告各种计划统计信息(例如I / O,内存和时序)(基于 该
|
| 该表功能以CLOB输出类型的多种格式显示计划表的内容。该 如果自 |
| 该表函数显示一个或多个执行计划,用于SQL计划基线的指定SQL句柄。 此功能使用存储在计划基准中的计划信息来说明和显示计划。的 |
| 该表函数显示存储在SQL调整集中的给定语句的执行计划。 该 |
也可以看看:
Oracle Database PL / SQL软件包和类型参考,以了解有关DBMS_XPLAN显示功能的 更多信息
6.3.1.2与计划相关的视图
您可以通过查询动态性能和数据字典视图来获取有关执行计划的信息。
表6-2执行计划视图
| 视图 | 描述 |
|---|---|
| 列出游标的统计信息,并为输入的原始SQL文本的每个子项包含一行。 从Oracle Database 19c开始, |
| 说明为什么特定子游标不与现有子游标共享。每列标识了无法共享游标的特定原因。 该 |
| 包含共享SQL区域中存储的每个语句的计划。 视图定义与相似 作为替代方案 |
| 提供计划中每个操作的实际执行统计信息,例如输出行数和经过时间。除输出行数以外的所有统计信息都是累积的。例如,联接操作的统计信息还包括其两个输入的统计信息。中的统计信息 |
| 包含使用SQL内存(排序或哈希联接)的行源的内存使用情况统计信息。此视图将信息
|
也可以看看:
- “ PLAN_TABLE列 ”
- “ 监视数据库操作 ”以获取有关
V$SQL_PLAN_MONITOR视图的 信息 - 《 Oracle数据库参考》以获取有关
V$SQL_PLAN视图的 更多信息 - 《 Oracle数据库参考》以获取有关
STATISTICS_LEVEL初始化参数的信息




