在oracle sql developer中解释长时间运行查询的计划

时间:2015-07-13 12:34:46

标签: sql oracle performance sql-execution-plan

我有下面的选择查询,它是长时间运行的,我想查看查询执行计划,以了解为什么这个查询长时间运行以及sql查询中的哪个语句影响查询性能。我正在使用oracle sql开发人员,我检查了以下查询的解释计划,但没有清楚地理解哪个语句影响了我的查询,以便优化我的查询。

Select *
from PROVISIONING_LOG@FONIC_RETAIL PL 
JOIN PROVISIONING_TASK@FONIC_RETAIL PT ON PL.PROVISIONING_TASK_ID = PT.ID JOIN SERVICE@FONIC_RETAIL SER ON PT.SERVICE_ID = SER.ID
JOIN TEMP_WF_DEF_ALL TT ON SER.SUBSCRIPTION_ID = TT.SUBSCRIPTION_ID
where PT.CODE='MIGOPT_PACK' and PT.DESCRIPTION Like '%CVB Request' AND PT.PARAMETERS LIKE '%OPERATION=ADD%' AND PL.RESPONSE_TYPE IS NULL AND PL.REQUEST IS NOT NULL 
and ((to_char(PT.START_DATE,'YYYYMMDDHH24Mi') = to_char(TT.COMPLETE_DATE,'YYYYMMDDHH24Mi')) 
or (to_char(PT.START_DATE,'YYYYMMDDHH24Mi') = to_char(TT.COMPLETE_DATE + 1/1440,'YYYYMMDDHH24Mi'))) AND
PL.TIME_STAMP < SYSDATE - numtodsinterval (  30,'MINUTE' )
 and PL.TIME_STAMP > SYSDATE - numtodsinterval ( 4,'HOUR' )
 AND TT.START_DATE < SYSDATE - numtodsinterval (  30,'MINUTE' )
and TT.START_DATE > SYSDATE - numtodsinterval ( 4,'HOUR' )
 AND TT.WF_NAME IN
 ('Subscribe LIDL Community Flat',
'LDLMonatsFlatrate Subscribe');

查询上述查询的执行计划: enter image description here

1 个答案:

答案 0 :(得分:2)

当您使用本地表和远程表的混合时。如果远程数据库上的表大于本地数据库上的表,则可能需要使用DRIVING_SITE提示,以便将较小的表集移动到发出调用的数据库中。

DRIVING_SITE