[英]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.