select nvl(SUM(t.nnum),0) from so_saleorder_b t where
bboutendflag='N'
AND csendstordocid in('1001A110000000001CFB','1001A1100000000BNAUI')
and cmaterialvid =
(select pk_material as cmaterialvid from bd_material where code='0000001' and enablestate=2 and dr=0)
and csaleorderid in (select csaleorderid from so_saleorder where fstatusflag=1 and dr=0)
最后一個 csaleorderid in (select csaleorderid from so_saleorder where fstatusflag=1 and dr=0)這個陳述句查詢每次都花費好幾秒鐘,求問優化的計劃
uj5u.com熱心網友回復:
手動收集一下這 3 張表的統計資訊;uj5u.com熱心網友回復:
改用existsuj5u.com熱心網友回復:
有建立索引嗎?uj5u.com熱心網友回復:
都寫成沒關聯就可以啦uj5u.com熱心網友回復:
試一下索引。還有就是常用的條件放前面uj5u.com熱心網友回復:
so_saleorder表增加 fstatusflag、 dr欄位的索引試試uj5u.com熱心網友回復:
把執行計劃的第一列拉長點,內容顯示不全啊,看不到具體的提示內容uj5u.com熱心網友回復:
so_saleorder_b 增加復合索引csaleorderid 、csendstordocid 、cmaterialvid ,并把in改成existsuj5u.com熱心網友回復:
看不到執行計劃有沒有走索引,還是走全表掃描,select pk_material as cmaterialvid from bd_material where code='0000001' and enablestate=2 and dr=0)and csaleorderid in (select csaleorderid from so_saleorder where fstatusflag=1 and dr=0這句慢看是否走了索引,把in改exists.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/99337.html
標籤:基礎和管理
