qq_37510271 2018-02-05 07:58 采纳率: 100%
浏览 812
已采纳

orcale优化,求大神指点一二

select RONO,OverdueDay from
(select RONO,
case when (select sum(Amount) as Ccount from EAM_Charge_Detail where ChargeType<>7012785 and H.BIZDATE<=bizdate)
- (select CAV_amount from V_HX07_REPORT_RECEIVE_NEW t1
where t1.receivedate<=H.bizdate) > 0 then to_number(sysdate-bizdate) else 0 end as OverdueDay
from (
select RoNo,bizdate from
(select ORDERNO AS RONO,bizdate from EAM_Charge_Detail

union
select RONO,receivedate as bizdate from V_HX07_REPORT_RECEIVE_NEW)
order by bizdate desc
) H );

新手菜鸟求帮助。两张表联合起来大概有一千多万条数据,查询不出数据来 显示一直在执行,是不是我哪里写错了 求大神帮忙看看哪里不对。

  • 写回答

7条回答 默认 最新

  • qq_40023049 2018-02-07 07:17
    关注

    由于没有执行计划,只能试着去提出可能存在的问题
    问题1:
    如果不需要剔除重复记录,union 改成union all
    问题2:
    去除order by操作

    相信以上两个解决掉以后,会快很多

    接下来看其他问题:
    问题3:
    bizdate是否存在索引,需要确定一下。
    问题4:
    select CAV__amount from V_HX07_REPORT_RECEIVE_NEW t1 where t1.receivedate<=H.bizdate
    这里总感觉会有问题,万一查出多条记录还会报错。
    t1表是否有索引,也要看看。
    问题5:
    已经不需要在外面在嵌套一层了。去除最外层的嵌套。

    优化完成之后,可以看看explian

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器