2014-02-25 25 views
1

我通过得到的查询执行不同的执行路径:不同的执行路径进行相同的查询,通过解释计划和监控SQL

  1. SQL开发>解释计划
  2. SQL开发>工具>监控SQL>监视SQL执行 详细信息(OEM的功能)

第一个选项显示正在使用的索引。但是,第二个选项在实际执行过程中并不包括这些索引。

注:我不能运行,因为我使用的创建和执行他们的飞行产品中的工具,这些查询(我知道的查询是完全相同的,因为我可以在执行监视器查看查询)。这就是为什么我特别需要知道哪个结果是正确的。或者有什么方法可以跟踪具体的索引使用情况。

+0

参见[这个答案]链接(http://stackoverflow.com/a/10572891/2899629)。 –

回答

0

解释是理论上的计划。实时SQL监控,当你谈到'监控SQL'时,你指的是实际的计划,当它执行时。

您也可以要求SQL Developer来告诉你缓存的计划,最有可能用来执行最后的声明。在版本4.0和更高版本中,使用Explain按钮上的下拉控件来查看这些控件。

我讨论这个问题在这里 http://www.thatjeffsmith.com/archive/2013/07/explain-plan-and-autotrace-enhancements-in-oracle-sql-developer-4/

相关问题