为什么我们需要在ConnectionString中设置Min池大小

时间:2013-10-07 09:52:28

标签: c# connection sqlconnection pool

对于SQL连接池,我们为什么需要设置最小池大小?由于连接将保存在连接池中并重用,为什么我们需要保持最小池大小指定的实时连接?感谢。

2 个答案:

答案 0 :(得分:20)

打开和维护连接非常昂贵,因此如果您知道需要多个连接(总是),最好指定MinPoolSize,因为这样可以确保这些连接可用。

此外,来自MSDN

  

如果未在连接字符串中指定MinPoolSize或是   如果指定为零,则池中的连接将在a之后关闭   不活动的时期。但是,如果指定的MinPoolSize更大   除了零之外,连接池在AppDomain之前不会被销毁   卸载并且流程结束。维护不活动或空池   涉及最小的系统开销。

答案 1 :(得分:4)

  

为什么我们需要保持min pool size指定的实时连接

您可能知道连接创建是资源密集型工作。因此,如果您的应用程序需要一致的响应时间,即使它处于空闲状态数小时,您也可以选择将其设置为较小的数字,例如5。在这种情况下,第一个用户请求将不必等待这些数据库连接建立。您可以阅读合并here的详细信息。