C# 使用MARS的缺点(多个活动结果集)

C# 使用MARS的缺点(多个活动结果集),c#,.net,sql,sql-server,sql-server-2008,C#,.net,Sql,Sql Server,Sql Server 2008,可能重复: 我正在开发一个应用程序,因此我必须同时使用多个数据读取器。 当我说多个数据阅读器时,我指的是多个数据阅读器。。。同时需要几个(大约10-50或更多) 所以我遇到的一个场景是使用不同的连接字符串。。但是我觉得很尴尬 另一种方法是使用火星,我发现它相当不错。但我的疑虑是,当我实施它时,我是否需要考虑或采取任何预防措施,或是恶意的等待我发生的事情:-( 从我所谓的研究中,我发现通过使用MARS,服务器可以快速生成数据,因此客户端应用程序必须以与它相同的速度接收数据。否则,数据存储缓冲区将

可能重复:

我正在开发一个应用程序,因此我必须同时使用多个数据读取器。 当我说多个数据阅读器时,我指的是多个数据阅读器。。。同时需要几个(大约10-50或更多)

所以我遇到的一个场景是使用不同的连接字符串。。但是我觉得很尴尬

另一种方法是使用火星,我发现它相当不错。但我的疑虑是,当我实施它时,我是否需要考虑或采取任何预防措施,或是恶意的等待我发生的事情:-(<)/P> 从我所谓的研究中,我发现通过使用MARS,服务器可以快速生成数据,因此客户端应用程序必须以与它相同的速度接收数据。否则,数据存储缓冲区将被填满,导致处理停止。。只有当缓冲区变空时,才会启用

我在这附近迷路了

此外,我仅将Select语句用于此要求

所以我的问题是,使用它们有什么缺点吗??
有多少数据可以存储在服务器数据缓冲区中,这样处理就不会停止???

如果确实需要一次读取100个数据集,我建议您使用多个连接。我不明白为什么在一个连接上需要多个活动数据读取器


然而,您试图实现的查询或任务更有可能在不需要执行这个大型并行操作的情况下完成。如果您能更具体地介绍一些细节,也许我们可以提出一些替代建议。

您的问题是什么?(以问号结尾的东西,如果这有助于你用文字表达的话)你也可以量化“多个数据阅读器”。用大写字母写并不能表示它是一个数字。@Johnstone=>他完全忘了用字母结尾questions@Tony=>数字我不能确切地说它可以达到100左右。@Johnstone=>我在查询端做了很多优化,现在我正在继续火星。这就像我们从一个表a中得到一个列表,表a中的每一行将从表B中获取列表,表B中的每一行将必须从表C中获取列表,依此类推。呸!!我知道这听起来很奇怪,但无论如何,谢谢你花这么多时间在这里。我只是想知道可以存储在数据缓冲区中的数据。这听起来和连接的作用一模一样。很可能您可以通过一个查询来做您想做的事情,并且它将比您正在做的要快得多。例如:
SELECT*FROM TblA internal JOIN TblB ON X=Y
给出
TblA
中的所有行,并且对于满足条件的
TblB
中的每一行,
TblB
@KierenJohnstone中的行列表:您描述JOIN的方式听起来就像UNION所做的一样。JOIN从多个表中获取列,并创建包含多个表中列的新组合行(基于匹配条件)。UNION是从多个表返回单个行的UNION。联接的目的是从其他表中添加额外的列。UNION的目的是将多个结果集作为一个结果集返回。我同意JOIN可能是OP简化流程所需要的。子查询是另一种选择。