select sum(nvl(a.ysje, 0) - nvl(a.skje, 0)) ye, a.custcode, a.unitcode
from (select decode(zb.djdl, 'ys', sum(fb.Jfbbje), '0') ysje,
decode(zb.djdl, 'sk', sum(fb.ybye), '0') skje,
bas.custcode,
corp.unitcode
from arap_djzb zb
left join arap_djfb fb
on zb.VOUCHID = fb.VOUCHID
left join bd_cumandoc man
on man.pk_cumandoc = fb.ksbm_cl
left join bd_cubasdoc bas
on bas.pk_cubasdoc = man.pk_cubasdoc
left join bd_corp corp
on corp.pk_corp = zb.dwbm
where bas.custcode = '211200127'
--substr(bas.custcode, 0, 2) = '21'
and zb.djzt = '2'
and corp.unitcode = '10301'
and nvl(zb.dr, 0) = 0
and nvl(fb.dr, 0) = 0
group by bas.custcode, zb.djdl, corp.unitcode) a
group by a.custcode, a.unitcode
關聯了幾張表,條件放開也就幾百條資料,查詢起來特別慢,大佬能優化一下么
uj5u.com熱心網友回復:
arap_djzb表多大?通過djzt='2'過濾后的資料量是多少?另外執行計劃放一下。
uj5u.com熱心網友回復:
補充下,arap_djzb表通過djzt='2' and nvl(dr, 0) = 0 條件過濾后的資料量是多大?
uj5u.com熱心網友回復:
arap_djzb表大概有7萬條資料 ,通過djzt=‘2’過濾后的資料量是6萬多,djzt='2' and nvl(dr, 0) = 0 條件過濾后的資料量是五萬七uj5u.com熱心網友回復:
如果這樣的話,這個查詢跑到幾分鐘也算是正常的,傳統的磁盤只能做到這個地步了,你多查幾次,消除物理讀后,可能會稍微好點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/44705.html
標籤:開發
上一篇:表查詢僅顯示執行無記錄顯示
