Oracle11g 分析函数情况下取消oracle测试的子查询

Oracle11g 分析函数情况下取消oracle测试的子查询,oracle11g,Oracle11g,我有一个带有子查询的oracle查询。子查询使用分析函数。如果子查询更改为join,则执行时间会有显著的改进。但在相同的其他类似查询中,它保持不变。在查看explain计划时,我发现显示了显著改进的子查询已由Oracle optimizer自动连接 当我搜索取消子查询的概念时,它基本上意味着将子查询转换为联接,它提到在某些条件下,会发生这种情况 我不清楚的是解释计划,如何理解它多次执行 Query Synopsis: JOIN CONTRACT CONTRACT ON UWFILE.ID

我有一个带有子查询的oracle查询。子查询使用分析函数。如果子查询更改为join,则执行时间会有显著的改进。但在相同的其他类似查询中,它保持不变。在查看explain计划时,我发现显示了显著改进的子查询已由Oracle optimizer自动连接

当我搜索取消子查询的概念时,它基本上意味着将子查询转换为联接,它提到在某些条件下,会发生这种情况

我不清楚的是解释计划,如何理解它多次执行

Query Synopsis:
 JOIN CONTRACT CONTRACT
  ON UWFILE.ID         =CONTRACT.UWFILE_ID
  AND CONTRACT.YEAR    = UWFILE.YEAR
  AND UWFILE.ORDER_NUM = CONTRACT.ORDER_NUM
  AND CONTRACT.ID     IN
    (SELECT ID
    FROM
      (SELECT ID,
        DENSE_RANK()over(partition BY CONTRACT.FACUL_NUM, CONTRACT.YEAR order by (CONTRACT.ENDOR_NUM) DESC) AS endor_rank
      FROM CONTRACT
      )
    WHERE endor_rank = 1
    )

Explain plan Synopsis:

Filter Predicates 
AND  CONTRACT.LAST_IN_FORCE=1                        

  EXISTS (SELECT 0 FROM (SELECT ID ID,DENSE_RANK() OVER ( PARTITION BY CONTRACT.FACUL_NUM,CONTRACT.YEAR ORDER BY INTERNAL_FUNCTION(CONTRACT.ENDOR_NUM) DESC  
VIEW  
   Filter Predicates  
   AND  

  ID=:B1  
  ENDOR_RANK=1 
 WINDOW  Filter Predicates DENSE_RANK() OVER ( PARTITION BY CONTRACT.FACUL_NUM,CONTRACT.YEAR ORDER BY INTERNAL_FUNCTION(CONTRACT.ENDOR_NUM) DESC )<=1 

请显示查询和解释计划。添加了查询和解释计划的概要。此子查询似乎不存在,并且似乎在重复。我不清楚它何时取消子查询