2
我有這樣一羣查詢:SQL SELECT查詢性能提高
-- get all data that exists in source but not yet in destination
SELECT
*
INTO #temp
FROM source T010T
WHERE NOT EXISTS
(
SELECT TOP 1 1 FROM destination P510T
WHERE WH_CD = T010T.WH_CD
AND POS_NO = T010T.POS_NO
AND SLIP_NO = T010T.TRAN_NO
AND OPE_DATE = T010T.SL_REC_DATE
)
-- process the data
....
-- insert data into destination
Insert into destination select * From #temp
我不知道會的做法這樣會影響性能?因爲我沒有真正的數據來測試,而且這是在本地運行的,所以我有點害怕,在實現時,這些查詢將成爲@@!中的一個痛點!
有沒有更好的選擇?
P/S:在比較中使用兩個表的列都是主鍵primarykey(wh_cd,pos_no,slip_no,ope_date) ...
與* –
@GiorgiNakeuri更換前11怎麼樣'1'代替'*'?順便說一句,如果使用'*'應該是這樣的:'where wh_Cd + pos_no + ..不在(從源選擇wh_Cd + pos_no + ..) – EagerToLearn
否*與1或6或'blabla'相同。如果表中有ro,則不需要頂層。這可能會影響表演。 –