close
A_SERVER CUSTOMER 一百五十萬筆資料
B_SERVER CIF 三百萬筆資料
*原先的作法
在B_SERVER 下設定排程
UPDATE a
SET a.NAME = b.NAME
FROM [LinkServer].[A_DBNAME].dbo.CUSTOMER a
JOIN [B_DBNMAE].dbo.CIF b on a.ID=b.ID
執行時間:約一個小時
*修改後的作法
SELECT ID,NAME into #CIF
FROM [LinkServer].A.dbo.CIF
執行時間:約42秒
% 建立#CIF 的 KEY值 %
UPDATE a
SET a.NAME = b.NAME
FROM [A_DBNAME].dbo.CUSTOMER a
JOIN [A_DBNAME].dbo.#CIF b on a.ID=b.ID
執行時間:約2分半
心得:
因執行時間花費不長,故未針對#CIF建KEY
若執行時間過長就可以建KEY,否則建KEY值要花更多時間
另一個方式:
在A_SERVER 下設定排程,效能會比原先的好,但是覺得應該沒有將檔案copy過來快速(需測試)
UPDATE a
SET a.NAME = b.NAME
FROM [A_DBNAME].dbo.CUSTOMER a
JOIN [LinkServer].[B_DBNMAE].dbo.CIF b on a.ID=b.ID
全站熱搜