oracle sum() 慢,oracle 查询sum很慢

这是oracle 查询语句,查出来需要200s,返回行数100,表都不到100w,不加sum很快,加了sum很慢,sql如下:

select sum(qty) tag_qty, rc_id

from (select ser_id,

func_get_pdr_count(service_tag, dispatch_time) as qty,

rc_id

from (select s.ser_id,

p.rc_id,

s.service_tag,

s.bill_id,

s.dispatch_time

from bill_list a, ser_inf s, part_list p

where a.bill_id = s.bill_id

and p.ser_id = s.ser_id

and p.back_class <> ‘1306’

and a.service_tag <> ‘MONITOR’

and a.service_tag <> ‘N/A’

and p.ts_dsp_date > to_date(‘2021-01-30’, ‘yyyy-mm-dd’)

and p.ts_dsp_date < to_date(‘2021-02-06’, ‘yyyy-mm-dd’)

group by s.ser_id,

p.rc_id,

s.service_tag,

s.bill_id,

s.dispatch_time))

group by q.rc_id;

如下为sql执行计划:

DescriptionObject ownerObject nameCostCardinalityBytes

SELECT STATEMENT, GOAL = ALL_ROWS2,163911,638

HASH GROUP BY2,163911,638

VIEWSYSVM_NWVW_02,163911,638

HASH GROUP BY2,1639110,010

NESTED LOOPS

NESTED LOOPS2,16218920,790

NESTED LOOPS1,97218917,010

TABLE ACCESS BY INDEX ROWIDU_DELLPART_LIST1,8211404,900

INDEX RANGE SCANU_DELLIDX_PART_LIST_TS_DSP_DATE222,803

TABLE ACCESS BY INDEX ROWIDU_DELLSER_INF2155

INDEX UNIQUE SCANU_DELLSYS_C001014411

INDEX UNIQUE SCANU_DELLSYS_C00959501

TABLE ACCESS BY INDEX ROWIDU_DELLBILL_LIST1120

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值