我有幾個製表符分隔的文件,我想用它來更新大量的行。到目前爲止,我已經天真地創建了一個臨時表,並將數據導入到臨時表中,然後更新了涉及連接的表。這創建了一個大型的轉錄日誌。我想阻止這種情況,並以大塊的形式進行。我發現這一點:更新大量的行 - SQL Server 2005
http://itknowledgeexchange.techtarget.com/itanswers/bulk-update-in-sql-server-2005/
這是最好的辦法嗎?
是否還有更快的方法(SSIS,bcp)?
任何反饋高度讚賞。謝謝。
基督教
PS:
我的天真代碼如下所示。 Unfort。我不是主鍵(該表有一個,因爲Bla是另一個表的子項)
drop table #temp
create table #temp
(
i int,
xml nvarchar(max)
)
BULK INSERT #temp
...
update a
set XML = b.xml
from Bla as a
inner join #temp as b on a.i = b.i
你的表是否有主鍵?或者是否有其他一些指標可以讓下一批能夠輕鬆開始最後一批的完成?事實上,涉及的表的結構和更新聲明是什麼? –
我無法真正看到任何顯而易見的方法來改善您的鏈接中的技術,基於該結構, –
謝謝馬丁。這種'TOP技術'是否自動提交事務,從而阻止事務日誌的增長。我沒有看到任何明確的交易內容......謝謝。 – cs0815