我需要从SQL表中选择一些100k +记录并进行一些处理,然后对另一个表进行批量插入。我正在使用SQLBulkCopy来执行快速运行的批量插入。为获得100k +记录,我目前正在使用DataReader。
问题:有时我在DataReader中收到超时错误。我已将超时增加到一些可管理的数字。
是否有类似SQLBulkCopy的内容用于批量批量处理?
谢谢!
巴拉
答案 0 :(得分:4)
听起来你应该在sql server中进行所有处理。或者将数据拆分成块。
答案 1 :(得分:0)
来自this msdn page的引用:
注意强>
批量导出操作不存在特殊的优化技术。这些操作只需使用SELECT语句从源表中选择数据。
但是,在同一页面上,它提到bcp
可以将SQL Server中的数据“批量导出”到文件中。
我建议您使用bcp尝试查询,看看它是否明显更快。如果不是,我会放弃并尝试摆弄您的批量大小,或者更加努力地将处理转移到SQL Server中。