处理连接或关闭连接

Any*_*are 7 c# asp.net performance informix database-connection

以下两种方法中哪一项具有更好的性能?

using( var DB_Connection_s = new DBConnection() )
{
 //todo: interact with database connection
}
Run Code Online (Sandbox Code Playgroud)

要不就 :

DB_Connection_s.Close();
Run Code Online (Sandbox Code Playgroud)

在末尾.

第一种方法是否使汇集概念变得无用?因为如果我在每次使用时都处理连接,那么每次都必须打开一个新连接(并且池中没有任何连接).

Fel*_*ano 7

using模式是更好,因为处置呼叫反正关闭连接,但作为奖金,即使使用内部出了差错连接被关闭.例如,异常或只是强制程序执行退出使用范围的返回.使用using时,您不需要显式关闭连接,这使代码更具可读性.作为另一种模式,必须尽快关闭连接.关闭/打开连接过于频繁没有性能缺陷,因为连接池将优化连接重用.


Ste*_*eve 5

当您在Connection上调用Close或Dispose时,连接将被释放回池中...

source = SQL Server连接池(ADO.NET)

因此,不要担心错过池连接导致的性能损失.
从代码的角度来看,差异应该是如此之小,以至于using应始终使用该语句