该DBMS_XPLAN.DISPLAY功能是显示说明计划的简单方法。
默认情况下,该DISPLAY函数使用的格式设置TYPICAL。在这种情况下,计划中计划中最相关的信息:操作ID,名称和选项,行,字节和优化器成本。修剪,并行和谓词信息仅在适用时显示。
要显示执行计划:
- 启动SQL * Plus或SQL Developer,然后登录到您在其中解释了该计划的会话。
- 解释一个计划。
PLAN_TABLE使用查询DBMS_XPLAN.DISPLAY。指定查询,如下所示:
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY);或者,使用
statement_id参数指定语句ID :SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY(statement_id => 'statement_id));
示例6-2语句ID ex_plan1的EXPLAIN PLAN
本示例说明employees使用语句ID的ex_plan1查询,然后查询PLAN_TABLE:
EXPLAIN PLAN
SET statement_id = 'ex_plan1' FOR
SELECT phone_number
FROM employees
WHERE phone_number LIKE '650%';
SELECT PLAN_TABLE_OUTPUT
FROM TABLE(DBMS_XPLAN.DISPLAY(statement_id => 'ex_plan1'));
输出示例如下:
Plan hash value: 1445457117
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 15 | 2 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| EMPLOYEES | 1 | 15 | 2 (0)| 00:00:01 |
-------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("PHONE_NUMBER" LIKE '650%')示例6-3语句ID ex_plan2的EXPLAIN PLAN
本示例说明了employees使用语句ID 的查询ex_plan2,然后使用以下BASIC格式显示计划:
EXPLAIN PLAN
SET statement_id = 'ex_plan2' FOR
SELECT last_name
FROM employees
WHERE last_name LIKE 'Pe%';
SELECT PLAN_TABLE_OUTPUT
FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, 'ex_plan2','BASIC'));
输出示例如下:
----------------------------------------
| Id | Operation | Name |
----------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | INDEX RANGE SCAN| EMP_NAME_IX |
----------------------------------------也可以看看:
《 Oracle数据库PL / SQL软件包和类型参考》以获取有关该DBMS_XPLAN软件包的 更多信息
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




