2012-12-07 47 views
0

我有超過100萬行檢查更改,然後進行更新。 我完成了我的程序,遍歷每條記錄,然後更新數據庫。但是這個操作需要幾個小時才能完成多線程。我優化了查詢,插入和檢查以最小化數據庫負載。我取得了更好的結果,但速度很慢。基於數據表的高效批量SQL數據庫表更新

是否有任何方法在內存中維護帶有正確記錄的DataTable,然後在一次更新中將整個數據結構作爲「虛擬表」上傳到SQL Server並讓SQL Server處理更新?

我以前見過類似的東西,它是通過Posrgre服務器上的函數完成的(不涉及C#)。我需要在幾分鐘內完成我的程序,而不是幾個小時。

+0

你最近怎麼樣做更新?一次或一次記錄一條記錄? – brian

回答

2

請插入新的數據與批量複製一個臨時表或使用表值參數(TVP),然後使用SQL MERGE命令,在現有的表更新行。