快速选择100K +记录

时间:2011-02-18 10:12:15

标签: sql-server-2005 ado.net

我需要从SQL表中选择一些100k +记录并进行一些处理,然后对另一个表进行批量插入。我正在使用SQLBulkCopy来执行快速运行的批量插入。为获得100k +记录,我目前正在使用DataReader。

问题:有时我在DataReader中收到超时错误。我已将超时增加到一些可管理的数字。

是否有类似SQLBulkCopy的内容用于批量批量处理?

谢谢!
巴拉

2 个答案:

答案 0 :(得分:4)

听起来你应该在sql server中进行所有处理。或者将数据拆分成块。

答案 1 :(得分:0)

来自this msdn page的引用:

  

注意

     

批量导出操作不存在特殊的优化技术。这些操作只需使用SELECT语句从源表中选择数据。

但是,在同一页面上,它提到bcp可以将SQL Server中的数据“批量导出”到文件中。

我建议您使用bcp尝试查询,看看它是否明显更快。如果不是,我会放弃并尝试摆弄您的批量大小,或者更加努力地将处理转移到SQL Server中。