子查询中使用了递归CONNECT BY巨慢的解决方案

有一段sql执行速度很慢 要50s

经查询是由于在sql的子查询中使用了递归查询导致

sql如下

select 
                  (SELECT to_char(temp.rwwcsx, 'yyyy-mm-dd')
                from (SELECT * FROM fxyd_rwdy_mx mx order by mx.rwdy_sj desc) temp
               WHERE temp.fxxx_bh in (F_GET_SJ_FXXX_BH(t.fxxx_bh))
                       --(SELECT a.fxxx_bh
                       --   FROM fxyd_rwmx a
                       --  start with a.fxxx_bh = t.fxxx_bh
                       -- CONNECT BY a.fxxx_bh = PRIOR a.sj_fxxx_bh)
                 and temp.hxcl_dm = 'RWTC'
                 and temp.rwtczt_dm = 'YXF'
                 and temp.jsjg_dm = '23407000000'
                 and rownum = 1) sj_xf_rwwcsx, --取本机关的上级下发的完成时限
             (SELECT jg.swjgcclx_bj
                FROM wd_swjg jg
               WHERE jg.swjg_dm =
                   (SELECT
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值