-5
我在一个文件中有100万行数据,我想将所有记录插入到SQL Server中。插入时,我正在与服务器上的现有数据进行比较,如果比较满意,我将更新服务器中的现有记录,否则我会从文件中插入记录。针对大型数据集的SQL Server批量插入
我目前正在通过从C#循环来完成这项工作,这会耗费3个多小时的时间。任何人都可以提出改进性能的想法吗?
谢谢, Xavier。
我在一个文件中有100万行数据,我想将所有记录插入到SQL Server中。插入时,我正在与服务器上的现有数据进行比较,如果比较满意,我将更新服务器中的现有记录,否则我会从文件中插入记录。针对大型数据集的SQL Server批量插入
我目前正在通过从C#循环来完成这项工作,这会耗费3个多小时的时间。任何人都可以提出改进性能的想法吗?
谢谢, Xavier。
检查您的全部或简单恢复模式下的数据库:
SELECT recovery_model_desc FROM sys.databases WHERE name = 'MyDataBase';
SIMPLE
恢复模式,你可以创建一个临时表就在那里。如果它处于Full
模式,则最好使用Simple
模型在单独的数据库中创建登台表。 非常感谢 – xavier
BCP ..................... –
感谢您的回复。我们可以使用批量复制程序与现有数据进行比较,我不熟悉这个 – xavier
您必须将数据加载到中间表(堆),创建索引,比较并最终更新目标表。使用BCP或任何其他批量装载方法时,装载通常需要10-20秒,最长几分钟。 – Anton