示例

1
2
explain plan for select * from emp;
select * from table(dbms_xplan.display());

explain plan命令通常和dbms_xplan.display()命令结合使用
PL/SQL Developer里F5快捷键的原理就是调用explain plan命令

原理

  explain plan 命令的原理是 Oracle 将目标 SQL 所产生的执行计划写入 PLAN_TABLE$
(ON COMMIT PRESERVE ROWS 的 GLOBAL TEMPORARY TABLE 即会话级临时表仅对当前会话有效)然后再通过dbms_xplan.display()命令将PLAN_TABLE$中的具体执行步骤格式化显示出来

优缺点

  • 优点
    1. 无需真正执行,快捷方便
  • 缺点
    1. 没有输出相关统计信息
    2. 无法判断是处理了多少行
    3. 无法判断表被访问了多少次