sql Developer中的AutoTrace

时间:2013-12-16 12:40:58

标签: sql oracle oracle-sqldeveloper

EXPLAIN PLAN和AUTOTRACE之间的基本区别是什么 在SQL Developer中。任何人都可以详细说明吗?

这是我试图在Autotrace之间获得差异的查询 和解释计划。

SELECT name, address, latest_in
  FROM ( SELECT name, address, latest_in
         ROW_NUMBER() OVER (PARTITION BY name ORDER BY address DESC) AS rowrank    
         FROM avrajit
       )
  WHERE rowrank <> 1 AND rowrank > 3;

1 个答案:

答案 0 :(得分:2)

没有比Tom Kyte更好的解释......

  来自autotrace的计划是一个解释计划。

     

没有关于硬解析和优化的统计数据 - 不确定   你在哪里,但优化者估计   基数和那些反过来与其他统计数据,如聚类   索引因子,表中的块等 - 用于导出IO   估计。

     

然后报告的autotrace统计数据是执行后的FACTS   声明,而不是猜测,不是优化的一部分。

     

因此,autotrace使用解释计划来显示可能的计划   将使用和autotrace显示ACTUAL资源数量   用于执行查询。

完整和长线程在这里:https://asktom.oracle.com/pls/asktom/asktom.search?tag=difference-of-explain-plan-autotrace-and-tkprof