【问题标题】:which method is best for Bulk Insert?哪种方法最适合批量插入?
【发布时间】:2012-02-13 13:49:54
【问题描述】:

我必须在 sqlserver 数据库中插入超过 20 万条记录。

我的想法是将数据添加到 DATA TABLE 然后进行批量插入,但我的 TL 说:“将数据插入 CSV 文件格式并进行批量插入”。

哪种方法更快?

【问题讨论】:

  • 使用SqlBulkCopy 是最有效的方式。但是你还没有说你的原始数据源是什么。
  • 为什么您认为编写一个创建数据表、填充它、然后插入的 C# 程序会更快?我认为您的 TL 走在正确的轨道上。

标签: sql vb.net sql-server-2005


【解决方案1】:

如果已经创建了 CSV 文件,SQL Bulk Insert 在性能和开发时间上都是迄今为止最快的。

如果您在应用程序中创建数据,您很可能会发现 BulkCopy 是最简单/最快的解决方案。

无论如何,200k 条记录并不是一个庞大的数据量,应该相当快。

【讨论】:

    【解决方案2】:

    通常批量插入csv文件是高性能插入

    BULK
    INSERT Table
    FROM ‘$path\$file.csv’
    WITH
    (
        FIELDTERMINATOR = ‘;’, 
        ROWTERMINATOR = ‘\n’,
        KEEPIDENTITY,
        TABLOCK
    )
    

    我同意 Tim Schmelter 的观点,答案可能因您的数据源而异。

    【讨论】:

      猜你喜欢
      • 2013-03-26
      • 1970-01-01
      • 2018-05-19
      • 2018-11-09
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      相关资源
      最近更新 更多