;with ids as(
select distinct FBILLID,FBILLSEQ from #t where FBILLFORMID=''PRD_PICKMTRL''
)
,
bills as(
select BILL.FID,BILL.FSEQ,project.FNAME AS F_PXJT_PROJECTNAME,differ.FNAME AS F_PXJT_BusinessName,BILL.F_PXJT_ClientPO
FROM T_PRD_PICKMTRLDATA BILL
JOIN ids on bill.FID=ids.FBILLID and bill.FSEQ=ids.FBILLSEQ
left JOIN PXJT_t_ProJect_L project ON project.FID = bill.F_PXJT_PROJECTID
left join PXJT_DB_DifferServ_L differ on differ.FID=bill.F_PXJT_BUSINESSID
)
UPDATE S SET F_PXJT_ProjectName=bills.F_PXJT_PROJECTNAME,F_PXJT_BusinessName=bills.F_PXJT_BusinessName,F_PXJT_ClientPO=bills.F_PXJT_ClientPO
from #t S join billS on s.FBILLID=bills.FID and s.FBILLSEQ=bills.FSEQ

主表資料比較多,用join耗時要一分多鐘,改成left join只需要幾秒鐘,為何會差距這么大呢
uj5u.com熱心網友回復:
第一,兩種寫法是否等價第二,看看執行計劃是怎么走的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/16142.html
標籤:疑難問題
上一篇:你對程式員怎么看呢?
