仍在执行过程时读取SQL Server结果集
我有一个SQL Server存储过程,可以将多个结果集返回到.NET应用程序。出于性能原因,我不想等待所有结果都返回,而是在返回结果集后立即处理它,因此处理和检索其他结果集是并行的仍在执行过程时读取SQL Server结果集,sql,.net,sql-server,Sql,.net,Sql Server,我有一个SQL Server存储过程,可以将多个结果集返回到.NET应用程序。出于性能原因,我不想等待所有结果都返回,而是在返回结果集后立即处理它,因此处理和检索其他结果集是并行的 可以使用.NET和SQL Server吗?这是不可能的。在前一条语句完成之前,SQL无法启动该语句。语句直到生成它将生成的整个结果集才结束。结果集是客户端必须使用的流 有许多方法可以并行执行调用,方法是为每个感兴趣的结果发送不同的请求。但这需要您正确地编写应用程序(使用多重连接和异步调用),而存储过程绝对无法完成这项
可以使用.NET和SQL Server吗?这是不可能的。在前一条语句完成之前,SQL无法启动该语句。语句直到生成它将生成的整个结果集才结束。结果集是客户端必须使用的流
有许多方法可以并行执行调用,方法是为每个感兴趣的结果发送不同的请求。但这需要您正确地编写应用程序(使用多重连接和异步调用),而存储过程绝对无法完成这项工作。为什么并行?您可以简单地使用
SqlDataReader
一次读取一个结果集的所有记录,然后使用前进到下一个结果集。我不相信您可以通过.NET应用程序这样做,因为一旦存储过程完成执行,数据就会返回。(但是,可能有一种方法,正如SSMS在结果窗口中所做的那样)SqlDataReader
将是最好的选择,或者将要处理的数据分割成更小的数据块。@TimSchmelter是的,你是对的,我的大脑显然是一团糟!