我想知道將數據插入到Sql Server數據庫的最快方式是什麼。 目前我使用「INSERT」命令使用SqlCommand,但它需要很多時間,因爲我必須插入很多像500k這樣的行。 你能告訴我什麼是我最好的解決方案嗎? 我也讀過,我可以使用SqlBulkCopy,你認爲這可能是一個很好的解決方案?使用C#將數據插入到Sql Server數據庫的最快方法。
1
A
回答
1
如果你在談論常規「編程」數據導入,SqlBulkCopy是我的經驗,要走的路。否則,服務器本身的數據庫管理技巧可能更適合。
的Microsoft SQL Server包含一個名爲BCP 快速批量複製大文件到SQL Server數據庫表或視圖一個流行的命令行工具。 SqlBulkCopy類允許您編寫提供類似功能的託管 代碼解決方案。還有其他 將數據加載到SQL Server表中的方法(INSERT語句,對於 示例),但SqlBulkCopy對它們提供了顯着的性能優勢 。
我曾經爲我們工作過的一個地方,我們曾經每天導入和合並大約一百萬條記錄。我們使用了SqlBulkCopy和存儲過程的組合。批量複製將導入到「scratch」表中,存儲過程將執行INSERT INTO SELECT或UPDATE SELECT (SO has questions with good examples)合併數據。整個事情過去不到一分鐘(也許是兩分鐘)。
使用SQL,您可以將信息從一個表複製到另一個表中。 INSERT INTO SELECT語句從一個表中複製數據並將其插入現有表中。
我發現BulkCopy很難維護,但性能上的好處使得它可以承受。另外,如果您有單獨的表(與DataTable匹配)來接收導入,則管理起來更容易。
0
使用批量複製將提高性能顯著
看到這裏供參考: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy(v=vs.110).aspx
0
在使用SQLBulkCopy之前,請確保您要插入的表上的所有非聚集索引都應該被刪除,然後重新創建它,這對您的情況會更快。
相關問題
- 1. C#將數據插入SQL數據庫的最快方式
- 2. 我想用C#將數據插入到SQL Server數據庫中。
- 3. 將大量記錄插入SQL Server數據庫的最快方法是什麼?
- 4. Android:使用webservices將數據插入到sql server數據庫
- 5. 插入數據到SQL Server數據庫
- 6. 將值插入到android sqlite數據庫的最快方法
- 7. 無法插入數據到SQL Server數據庫ODBC C++
- 8. 將數據插入SQL Server數據庫使用ADO.Net數據集
- 9. 最快的方法將數字插入到sql server表中?
- 10. 無法將數據插入到SQL Server數據庫中
- 11. ASP.NET,VB.NET無法將數據插入到SQL Server數據庫中
- 12. 我無法將數據插入到SQL Server數據庫中
- 13. C#從數據表插入數據到SQL Server數據庫
- 14. 將數千行插入mysql數據庫的最快方法?
- 15. 將大量數據插入到Mysql數據庫的最快方法
- 16. 使用C#數據對象將記錄插入到SQL Server數據庫
- 17. 最快的方法來將數據庫保存到數據庫
- 18. 什麼是使用C#將大量CSV數據插入到mysql數據庫的最快方法?
- 19. 使用企業庫將數據插入到SQL Server數據庫的代碼
- 20. 使用C#.Net訪問SQL Server數據庫的最佳方法
- 21. 在asp.net中插入數據到SQL Server數據庫c#
- 22. 將大量數據插入分區表的最快方法SQL Server
- 23. 將關係數據錶快速插入到SQL Server 2008數據庫中
- 24. 使用latin1_general_ci將Unicode數據插入到數據庫的最佳方法
- 25. 如何使用C#將信息插入SQL Server數據庫?
- 26. C#不能在C#中的數據插入SQL Server數據庫
- 27. 將數據從ASP.NET插入到本地SQL Server數據庫中
- 28. 如何將數據插入到SQL Server Express數據庫中
- 29. 插入空值到SQL Server數據庫
- 30. 插入到sql server數據庫錯誤
嘗試使用實體框架並使用模型傳遞數據https://msdn.microsoft.com/en-us/library/bb386876(v=vs.110).aspx – Thili77
你的代碼是什麼樣的? 「很多」是多少時間? –
可能來自http://stackoverflow.com/questions/5940225/fastest-way-of-inserting-in-entity-framework – Xavave