2017-03-08 52 views

回答

1

如果您担心在SQL Server中使用ADO.NET时的延迟问题,则应该查看connection pooling。虽然要注意pool fragmentation

连接到数据源可能非常耗时。为了最大限度地减少打开连接的开销,ADO.NET使用称为的连接池的优化技术 ,这最大限度地减少了重复打开和关闭连接的成本。对于.NET Framework数据提供者,连接池处理方式 的处理方式不同。

此外,如果您需要快速检索许多记录,请使用SqlDataReader进行调查。与使用DataSets等其他类型的ADO.NET对象相比,它需要的内存要少得多,并且其优化用于有效地获取大量数据。

您可以查看某些performance counters以查看活动连接池的数量(NumberOfActiveConnectionPools)以及其他有用信息。

Step by step guide on how to test

+0

除非我弄错了,否则会自动为每个不同的连接字符串完成。我们只有一个连接,所以不是我所有的查询(都是SELECTs BTW)都默认通过同一个连接池?有什么方法可以看到我所在的泳池,所以我可以测试这个泳池吗? –

+0

你是对的。你问了关于ADO.NET/SQL Server延迟的具体问题,因此回答了讨论连接池的问题。我已经编辑了关于如何测试这个问题的答案。 –

相关问题