SELECT NVL(SUM(A.QTY), 0)
-- INTO LR_TAG.QTY
FROM TTAG_INSOUT_D A
WHERE 1 = 1
AND (A.STKINSOUTNO = M_STKINSOUTNO OR M_STKINSOUTNO IS NULL)
AND (A.STKINSOUTID = M_STKINSOUTID OR M_STKINSOUTID IS NULL)
AND (A.BATCHMARKID = M_BATCHMARKID OR M_BATCHMARKID IS NULL)
AND (A.BUSSSTATUS = 10 OR :M_ISCREATETAG IN (0));
uj5u.com熱心網友回復:
基本沒啥優化空間吧uj5u.com熱心網友回復:
存盤運行的的時候這個占了較高的時間uj5u.com熱心網友回復:
執行計劃貼出來看看uj5u.com熱心網友回復:
把具體業務邏輯和執行時的引數資訊及執行計劃發出來uj5u.com熱心網友回復:
改用union代替oruj5u.com熱心網友回復:
uj5u.com熱心網友回復:
看不到你的具體引數和索引資訊 猜測一下都有索引且選擇性高吧 用/*+use_concat*/ 試試uj5u.com熱心網友回復:
直接加并發。uj5u.com熱心網友回復:
大概看了下,估計加索引會有幫助,四個列,看看哪個或哪幾個選擇性比較好,建索引試試。uj5u.com熱心網友回復:
使用系結變數+動態SQL拼裝,如果下列這些變數,哪個不為空,就拼接上哪一個。M_STKINSOUTNO
M_STKINSOUTID
M_BATCHMARKID
M_ISCREATETAG
uj5u.com熱心網友回復:
已經使用了動態sql拼接已解決,謝謝大家uj5u.com熱心網友回復:
OR 改為 UNION ALL ,變成兩段 SELECT,肯定 要這樣的。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/10019.html
標籤:開發
上一篇:rman windows->linux 備份恢復程序
下一篇:請教該sql該如何寫
