SQL Server批量插入大数据集

时间:2016-08-12 03:22:27

标签: sql sql-server bulkinsert

我在文件中有100万行数据,我想将所有记录插入SQL Server。插入时我正在与服务器上的现有数据进行一些比较,如果比较满意,我将更新服务器中的现有记录,否则我将从文件中插入记录。

我目前正在通过从C#循环来完成这项工作,这需要3个多小时才能完成工作。任何人都可以建议提高性能吗?

谢谢, 济。

1 个答案:

答案 0 :(得分:0)

  1. 检查数据库是处于完全还是简单恢复模式:

    SELECT recovery_model_desc FROM sys.databases WHERE name = 'MyDataBase';

  2. 如果数据库是SIMPLE恢复模式,您可以在那里创建一个临时表。如果它处于Full模式,那么最好使用Simple模型在单独的数据库中创建临时表。
  3. 使用任何BulkInsert操作/工具(例如BCP,如已建议的那样)
  4. 仅插入登台表中的数据,这些数据在目标表中不存在。 (希望你知道该怎么做)