首页 > 数据库技术 > 详细

oracle 执行计划的获取方法

时间:2016-06-13 13:30:56      阅读:227      评论:0      收藏:0      [点我收藏+]

1.用explain plan for来获取执行计划

explain plan for <sql>;

select * from table(dbms_xplan.display());

结果如下:

技术分享

---------------------------------------------------------------------------------------------------------------------

优点

  1. 不需要真实执行sql,方便快捷

缺点

  1. 这里的执行计划并不是真实的执行计划
  2. 不能获取运行时的相关统计信息(产生多少逻辑读,多少次递归调用,多少次物理读的情况)
  3. 无法判断表被访问了多少次
  4. 无法判断处理了多少行数据

---------------------------------------------------------------------------------------------------------------------

2.用autotrace 来获取执行计划

SET AUTOTRACE OFF  --此为默认值,即关闭Autotrace 

SET AUTOTRACE ON EXPLAIN  --只显示执行计划和执行结果

SET AUTOTRACE ON STATISTICS  --只显示执行的统计信息和执行结果

SET AUTOTRACE ON  --包含执行计划,统计信息和执行结果

SET AUTOTRACE TRACEONLY  --只显示执行计划
使用 SET AUTOTRACE ON EXPLAIN 时,显示执行结果,和执行计划,如图:

技术分享

使用 SET AUTOTRACE ON STATISTICS 时,显示执行结果,和统计信息,如图:

技术分享

使用 SET AUTOTRACE ON 时,显示执行结果,执行计划和统计信息,如图:

技术分享

技术分享

使用 SET AUTOTRACE TRACEONLY 时,显示执行计划和统计信息如图:

技术分享

---------------------------------------------------------------------------------------------------------------------
优点

  1. 可以输出运行时的相关统计信息(产生多少逻辑读,多少次递归调用,多少次物理读的情况);

缺点

  1. 获取的不是真实的执行计划
  2. 无法看到表被访问了多少次。

---------------------------------------------------------------------------------------------------------------------
3.

oracle 执行计划的获取方法

原文:http://www.cnblogs.com/wolil/p/5580141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!