10g中注意子查询里主表谓词过滤的位置

203 篇文章 35 订阅 ¥39.90 ¥99.00
本文讨论了在Oracle 10g中,子查询中的主表谓词过滤位置对查询性能的影响。错误地将主查询的谓词放入子查询可能导致子查询无法有效展开,从而增加执行成本。通过两个UPDATE语句的对比,展示了正确放置谓词的重要性,优化后的查询使用了HASH JOIN RIGHT SEMI操作,显著提高了效率。
摘要由CSDN通过智能技术生成
在10g中当主查询的谓词信息,被错误的放入子查询中,会导致子查询无法展开

explain plan for UPDATE DWF.F_PTY_INDIV O
   SET END_DT = TO_DATE('2012-12-31', 'YYYY-MM-DD')
 WHERE EXISTS (SELECT 1
          FROM DWF.F_PTY_INDIV F
         WHERE O.PTY_ID = PTY_ID
           AND O.CORP_ORG = CORP_ORG
           AND O.SOURCE_CODE = 'CMS'
           AND SOURCE_CODE = 'CMS'
           AND F.DW_DATA_DT = TO_DATE('2012-12-31', 'YYYY-MM-DD'))
   AND O.DW_DATA_DT <> TO_DATE('2012-12-31', 'YYYY-MM-DD')
   AND O.END_DT = TO_DATE('29991231', 'YYYY-MM-DD');
           
           
           select * from table(dbms_xplan.display());
Plan hash value: 4112899302
 
------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值