0
我有一個過程來計算SQL Server 2008 R2中的大表中的日常銷售預測(我們稱之爲Mothership
)。每天,我都會在事務數據庫上掃描CDC以提取更改,計算增量預測,並將此Delta
與Mothership
合併。問題是,性能非常不一致。 Mothership
有25M行,Delta
有1 - 2M行。我已經看到合併的表現在8分鐘到1小時之間。提高SQL Server中MERGE語句的性能
MERGE語句是非常簡單的:
MERGE INTO Mothership AS tgt
USING Delta AS src
ON Mothership.Key1 = Delta.Key1 AND ... AND Mothership.Key4 = Delta.Key4
WHEN MATCHED AND Mothership.UpdateDate < Delta.UpdateDate
(UPDATE all data columns on Mothership)
WHEN NOT MATCHED
(INSERT into Mothership)
我對鍵1定義爲KEY4每個表的主鍵,而且性能還難吃。在性能方面MERGE中有錯誤嗎?
你能後的執行計劃的問題列表? – MatBailie