Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 快速选择100K+记录_Sql Server 2005_Ado.net - Fatal编程技术网

Sql server 2005 快速选择100K+记录

Sql server 2005 快速选择100K+记录,sql-server-2005,ado.net,Sql Server 2005,Ado.net,我需要从一个SQL表中选择一些100k+记录并进行一些处理,然后对另一个表进行大容量插入。我正在使用SQLBulkCopy来执行快速运行的大容量插入。为了获得100k+记录,我目前正在使用DataReader 问题:有时我在DataReader中遇到超时错误。我已将超时时间增加到某个可管理的数字 是否有类似SQLBulkCopy的方法用于批量选择记录 谢谢! Bala听起来您应该在sql server中完成所有处理。或者将数据分割成块。引用自: 注 没有针对批量出口操作的特殊优化技术。这些操作只

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

问题:有时我在DataReader中遇到超时错误。我已将超时时间增加到某个可管理的数字

是否有类似SQLBulkCopy的方法用于批量选择记录

谢谢!
Bala

听起来您应该在sql server中完成所有处理。或者将数据分割成块。

引用自:

没有针对批量出口操作的特殊优化技术。这些操作只是使用select语句从源表中选择数据

但是,在同一页中,它提到了bcp utlity可以将数据从SQL Server批量导出到文件中


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

为什么不在数据库中进行处理,甚至,只需以块/页的形式获取结果集?Bala您能告诉我们如何在代码中使用DataReader吗?感谢您的回复…我需要在.net端对XML数据进行一些处理。我知道我们也可以在SQL中处理xml,但在SQL端它目前是非常难以管理的…您可以逐个处理它们。打开IReader、读取、处理、保存。直到完成。