我必须将数据从数据表传输到数据库。总记录约为每次 15k。我想减少数据插入的时间。我应该使用SqlBulk吗?还是别的什么?
问问题
2883 次
4 回答
0
如果您只追求速度,那么批量复制可能适合您。根据要求,您还可以降低日志记录级别。
于 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 回答