0

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

4

4 回答 4

0

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

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

SQL Server如何将一个巨大的表数据复制到另一个表中

于 2013-02-14T08:46:03.047 回答
0

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

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

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

在此处输入图像描述

于 2013-02-14T09:10:00.193 回答
0

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

于 2013-02-14T10:13:34.483 回答
0

如果你使用C#看看SqlBulkCopy类。CodeProject上有一篇很好的文章关于如何使用它DataTable

于 2013-02-14T08:41:02.050 回答