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 vscode的问题提问
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM