[英]Speed up update of 185k rows in SQL Server 2008?
我有一個大約185k行的二進制文件。 C#
在幾秒鍾內解析文件。 用這些數據更新MSSQL
表的最佳方法是什么?
我嘗試過的:
有關如何加快更新過程的任何建議?
不確定你真的想通過C#來做這件事:可能想要使用BULK INSERT並給它一個文件,你的數據格式正確。
使用SqlBulkCopy
(到臨時表),然后使用MERGE
。
批量復制方法可以使用.NET客戶端的“推送”有效地傳輸數據。 使用BULK INSERT
需要從服務器“拉”(以及所需的本地文件訪問)。
然后, MERGE
命令(在SQL Server 2008+中)可用於根據所需規則將數據從臨時表插入/更新/ upsert到目標表。 由於此時數據完全在數據庫中,因此該操作將盡可能快。 與許多單獨的命令相比,使用MERGE
也可能產生性能優勢 ,即使是同一事務中的命令也是如此。
也可以看看:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.