我在其中50,000個數據集中更新了50萬條記錄。現在我需要將更新的記錄提交回SQL Server 2005數據庫。將數據集中的數千條記錄更新爲SQL Server
什麼是做到這一點的最好的和有效的方式考慮的事實,這樣的更新可能是頻繁的(雖然併發不是問題,但性能)
我在其中50,000個數據集中更新了50萬條記錄。現在我需要將更新的記錄提交回SQL Server 2005數據庫。將數據集中的數千條記錄更新爲SQL Server
什麼是做到這一點的最好的和有效的方式考慮的事實,這樣的更新可能是頻繁的(雖然併發不是問題,但性能)
我會用一個Batch Update。
也記錄在here。
我同意戴維的回答,因爲這是我使用的。但是,您可以採取一種值得考慮的替代方法(畢竟所有情況都不一樣) - 如果我有另一個類似的要求,我將在未來考慮這一點。
您可以將更新後的記錄批量插入數據庫中的新表(使用SqlBulkCopy),這是一種將數據加載到數據庫(example)的極其快速的方式。然後在你的主表上運行一個UPDATE語句,以便從這個新表中獲取更新後的值,這些值將在最後放置。
使用SqlDataAdapter的批量更新方法允許您輕鬆處理特定行上的任何錯誤(例如,您可以告訴它在出現特定更新行時發生錯誤時繼續執行,因此它不會停止整個過程)。
您的交易要求是什麼?你真的使用一個DataSet的(緩慢,休記憶打印)? – TomTom 2010-05-13 07:43:40
首先,50萬條記錄是如何進入您的數據集的?你可以做一個SQL批量插入,而不是使用數據集? – 2010-05-13 07:44:46
你在哪裏存儲這個DataSet?在某個網站或某個存儲過程中? – Insectatorious 2010-05-13 07:44:47