【发布时间】:2016-08-12 03:22:26
【问题描述】:
我在一个文件中有 100 万行数据,我想将所有记录插入 SQL Server。在插入时,我正在与服务器上的现有数据进行一些比较,如果比较满意,我将更新服务器中的现有记录,否则我将从文件中插入记录。
我目前正在通过从 C# 循环执行此操作,这需要 3 个多小时才能完成工作。任何人都可以提出提高性能的想法吗?
谢谢, 泽维尔。
【问题讨论】:
-
BCP.......
-
感谢您的回复。我们可以使用批量复制程序与现有数据进行比较吗,我是新手
-
您必须将数据加载到中间表(堆),创建索引,比较,最后更新目标表。使用 BCP 或任何其他批量加载方法,加载通常需要 10-20 秒,最多几分钟。
-
感谢您的回复,您的意思是 bcp 将单独用于批量加载到临时表中。之后我需要和这百万数据进行比较,恐怕比较需要更多时间
-
见msdn.microsoft.com/en-us/library/ms175937.aspx - 它解释了可用的方法和示例代码
标签: sql sql-server bulkinsert