【问题标题】:large amount of data insert into table大量数据插入表中
【发布时间】:2013-01-30 00:00:19
【问题描述】:

我必须将数据从数据表传输到数据库。总记录约为每次 15k。 我想减少数据插入的时间。我应该使用 SqlBulk 吗?还是别的什么?

【问题讨论】:

    标签: c# sql-server


    【解决方案1】:

    如果您使用C#,请查看SqlBulkCopy 类。 CodeProject上有一个good article关于如何与DataTable一起使用

    【讨论】:

      【解决方案2】:

      如果您只追求速度,那么批量复制可能适合您。根据要求,您还可以降低日志记录级别。

      http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/edf280b9-2b27-48bb-a2ff-cab4b563dcb8/

      How to copy a huge table data into another table in SQL Server

      【讨论】:

      • 我只关心速度。
      【解决方案3】:

      对于这种样本大小,SQL 批量复制无疑是最快的,因为它流式传输数据,而不是实际使用常规 sql 命令。这使它的启动时间稍长,但一次有超过 120 行(根据我的测试)

      如果您想了解有关 sql 批量复制如何与其他几种方法叠加的统计信息,请查看我的帖子,了解如何到达此处。

      http://blog.staticvoid.co.nz/2012/8/17/mssql_and_large_insert_statements

      【讨论】:

        【解决方案4】:

        15k 条记录实际上并没有那么多。我有一台配备 i5 CPU 和 4GB 内存的笔记本电脑,它可以在几秒钟内插入 15k 条记录。我真的不会花太多时间来寻找理想的解决方案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-12-24
          • 1970-01-01
          • 2019-11-22
          • 1970-01-01
          • 2017-08-20
          • 2018-02-13
          • 2012-11-01
          相关资源
          最近更新 更多