我正在寻找处理高延迟连接的方法。 ODBC具有解决此问题的SetRowsetSize
,如here和here所述。ODBC具有SetRowsetSize,ADO.net中的等效项是什么?
在ADO.net中是否有与此设置相同的设置? This article似乎表明在原始ADO中有一个类比,但它非常古老,并指向不再存在的文章。
一般来说,如何提高ADO.net中高延迟连接的性能?
我正在寻找处理高延迟连接的方法。 ODBC具有解决此问题的SetRowsetSize
,如here和here所述。ODBC具有SetRowsetSize,ADO.net中的等效项是什么?
在ADO.net中是否有与此设置相同的设置? This article似乎表明在原始ADO中有一个类比,但它非常古老,并指向不再存在的文章。
一般来说,如何提高ADO.net中高延迟连接的性能?
如果您担心在SQL Server中使用ADO.NET时的延迟问题,则应该查看connection pooling。虽然要注意pool fragmentation。
连接到数据源可能非常耗时。为了最大限度地减少打开连接的开销,ADO.NET使用称为的连接池的优化技术 ,这最大限度地减少了重复打开和关闭连接的成本。对于.NET Framework数据提供者,连接池处理方式 的处理方式不同。
此外,如果您需要快速检索许多记录,请使用SqlDataReader进行调查。与使用DataSets等其他类型的ADO.NET对象相比,它需要的内存要少得多,并且其优化用于有效地获取大量数据。
您可以查看某些performance counters以查看活动连接池的数量(NumberOfActiveConnectionPools)以及其他有用信息。
除非我弄错了,否则会自动为每个不同的连接字符串完成。我们只有一个连接,所以不是我所有的查询(都是SELECTs BTW)都默认通过同一个连接池?有什么方法可以看到我所在的泳池,所以我可以测试这个泳池吗? –
你是对的。你问了关于ADO.NET/SQL Server延迟的具体问题,因此回答了讨论连接池的问题。我已经编辑了关于如何测试这个问题的答案。 –