Oracle 通过Explain plan和Monitor SQL为同一查询提供不同的执行路径

Oracle 通过Explain plan和Monitor SQL为同一查询提供不同的执行路径,oracle,oracle-sqldeveloper,sql-execution-plan,Oracle,Oracle Sqldeveloper,Sql Execution Plan,我通过以下方式获得查询执行的不同执行路径: SQL开发人员>解释计划 SQL开发人员>工具>监视SQL>监视SQL执行 详细信息(OEM的特点) 第一个选项显示正在使用的索引。但是,第二个选项不包括实际执行期间的这些索引 注意:我无法在工具中运行这些查询,因为我使用的产品会动态创建和执行它们(我知道这些查询完全相同,因为我可以在执行监视器中查看查询)。这就是为什么我特别需要知道哪个结果是正确的。或者有没有一种方法可以跟踪具体的索引使用情况。解释的是理论计划。实时SQL监控,您在谈论“监控SQL”

我通过以下方式获得查询执行的不同执行路径:

  • SQL开发人员>解释计划
  • SQL开发人员>工具>监视SQL>监视SQL执行 详细信息(OEM的特点)
  • 第一个选项显示正在使用的索引。但是,第二个选项不包括实际执行期间的这些索引


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

    解释的是理论计划。实时SQL监控,您在谈论“监控SQL”时所指的实时SQL监控,显示了实际计划的执行情况

    您还可以要求SQLDeveloper向您显示最有可能用于最后执行语句的缓存计划。在版本4.0及更高版本中,使用“解释”按钮上的下拉控件查看这些内容

    我在这里讨论这个问题

    请参见中的链接。