Sql server 2005 快速选择100K+记录
我需要从一个SQL表中选择一些100k+记录并进行一些处理,然后对另一个表进行大容量插入。我正在使用SQLBulkCopy来执行快速运行的大容量插入。为了获得100k+记录,我目前正在使用DataReader 问题:有时我在DataReader中遇到超时错误。我已将超时时间增加到某个可管理的数字 是否有类似SQLBulkCopy的方法用于批量选择记录 谢谢!Sql server 2005 快速选择100K+记录,sql-server-2005,ado.net,Sql Server 2005,Ado.net,我需要从一个SQL表中选择一些100k+记录并进行一些处理,然后对另一个表进行大容量插入。我正在使用SQLBulkCopy来执行快速运行的大容量插入。为了获得100k+记录,我目前正在使用DataReader 问题:有时我在DataReader中遇到超时错误。我已将超时时间增加到某个可管理的数字 是否有类似SQLBulkCopy的方法用于批量选择记录 谢谢! Bala听起来您应该在sql server中完成所有处理。或者将数据分割成块。引用自: 注 没有针对批量出口操作的特殊优化技术。这些操作只
Bala听起来您应该在sql server中完成所有处理。或者将数据分割成块。引用自: 注 没有针对批量出口操作的特殊优化技术。这些操作只是使用select语句从源表中选择数据 但是,在同一页中,它提到了bcp utlity可以将数据从SQL Server批量导出到文件中
我建议您尝试使用bcp进行查询,看看它是否明显更快。如果不是,我会放弃并尝试调整批处理大小,或者更努力地将处理移到SQL Server中。为什么不在数据库中进行处理,甚至,只需以块/页的形式获取结果集?Bala您能告诉我们如何在代码中使用DataReader吗?感谢您的回复…我需要在.net端对XML数据进行一些处理。我知道我们也可以在SQL中处理xml,但在SQL端它目前是非常难以管理的…您可以逐个处理它们。打开IReader、读取、处理、保存。直到完成。