什麼是最好的方式插入,更新批量記錄從後面的代碼到MS SQL?插入批處理記錄
插入批處理記錄
回答
根據INSERT,SqlBulkCopy是將數據批量加載到SQL Server的最快方法。我已經在博客上介紹瞭如何使用它/演示了性能here - 與使用SqlDataAdapter通過SqlDataAdapter.Update和SqlDataAdapter.InsertCommand一起發送批量插入的另一種方法相比。
在UPDATE方面,一種技術是使用SqlBulkCopy將數據批量加載到數據庫中的「臨時」臨時表中。然後,從該臨時表中運行基礎表的更新。或者,您可以使用SqlDataAdapter.Update方法與SqlDataAdapter.UpdateCommand一起使用。對於原始吞吐量,SqlBulkCopy(僅限INSERT)是理想的方式。但是,爲了處理特定記錄的錯誤,SqlDataAdapter方法很好,因爲您可以告訴它在發生故障時繼續向數據庫發送行(例如,如果您在特定記錄上遇到約束錯誤,則可以選擇ContinueUpdateOnError ,然後在最後確定那些沒有錯誤。
怎麼樣的LINQ to SQL? – user335160 2010-06-25 08:43:26
我已經更新了我的答案。 – IsmailS 2010-06-25 08:51:42
這只是一個批量更新和刪除。 – user335160 2010-06-25 09:55:43
- 1. 批量插入記錄Slick
- 2. 批量記錄插入
- 3. Mule批處理 - 在批處理塊中處理記錄並彙總到文件
- 4. 按Mule批次順序處理記錄
- 5. 批處理腳本鍵盤記錄器
- 6. 批量插入3M記錄的SQLExpress
- 7. 批量插入數億條記錄
- 8. 事件日誌記錄系統在PHP批處理插入事件
- 9. Java - JDBC插入批處理狀態-2但存在於DB中的記錄
- 10. 在sql中處理批量插入
- 11. mysql與str_to_date插入到批處理
- 12. Codeigniter - 插入批處理 - 我的sql
- 13. 安全插入批處理? codeigniter
- 14. Spring批量讀取多條記錄並處理多條記錄
- 15. 彈簧批處理 - 在處理中跳過記錄
- 16. 在jdbc批處理中處理100,000條記錄更新
- 17. &符號與輸入記錄中的批處理文件問題
- 18. 批處理插入的Postgres sql異常處理
- 19. 插入批記錄,許多插入查詢,遊標,while循環或事務記錄每個記錄更好
- 20. 插入記錄
- 21. 登錄批處理程序
- 22. 在mysql中處理重複記錄插入語句
- 23. 在spring批處理中,如何在寫入階段將記錄標記爲跳過的記錄(無重試)
- 24. 記錄MSSQL插入
- 25. has_many記錄插入
- 26. 標記記錄插入
- 27. Codeigniter - 插入批處理 - 多個輸入同名
- 28. 春季批處理分區 - 所有線程處理相同記錄
- 29. Spring批處理 - 讀取.csv文件並將記錄寫入txt文件
- 30. 來自入站REST服務記錄的陣列的Apex批處理類
嗨,先生,非常感謝你,是ms sql 2008能夠接受強類型對象列表的參數,例如List。因爲我認爲2k8能夠傳遞參數類型的數據表。 –
user335160
2010-06-25 09:18:16
@crisgomez - SQL Server 2k8確實支持表值參數 - 所以你可以通過在一張數據表中,我也做過博客技術(將其與CSV和XML方法進行比較):http://www.adathedev.co.uk/2010/02/sql-server-2008-table-valued-parameters.html 與SqlBulkCopy等相比,我沒有知道什麼性能是真正的大容量數據 - 將是基準的東西,它可能會打tempdb更多 – AdaTheDev 2010-06-25 09:46:54
那麼強類型列表的對象,例如列表,將MS SQL 2K8能夠傳遞? –
user335160
2010-06-25 09:52:09