码迷,mamicode.com
首页 > 数据库 > 详细

oracle 执行计划的获取方法

时间:2016-06-13 13:31:20      阅读:250      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!