<connectionStrings>
<add name="MySqlConn" connectionString="Database=Demo;Data Source=192.168.100.114;User Id=mt4demo;Password=00000000;CharSet=utf8;port=3306;pooling=true;Min Pool Size=5; Max Pool Size=30; Connect Timeout=300; default command timeout=300;Connection reset=true" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

Pooling:    是否使用线程池,默认 true
MinimumPoolSize, min pool size:线程池中允许的最少线程数,默认 0
MaximumPoolSize,max pool size:线程池中允许的最多线程数,默认 100
ConnectionReset:连接过期后是否自动复位,默认 false

 

当第一个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符创来决定。每一个连接池都与一个不同的连接字符串相关。 
当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。 

当连接池中的所有连接都已经关闭时关闭连接池。

当连接池已经达到它的最大连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。当有连接释放给连接池时,连接池将新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。

对于.NET应用程序而言,默认为允许连接池。(这意味着你可以不必为这件事情做任何的事情)当然,如果你可以在SQLConnection对象的连接字符串中加进Pooling=true;确保你的应用程序允许连接池的使用。

 

技巧和提示 

1.   当你需要数据库连接时才去创建连接池,而不是提前建立。一旦你使用完连接立即关闭它,不要等到垃圾收集器来处理它。 
2.   在关闭数据库连接前确保关闭了所有用户定义的事务。 
3.   不要关闭数据库中所有的连接,至少保证连接池中有一个连接可用。如果内存和其他资源是你必须首先考虑的问题,可以关闭所有的连接,然后在下一个请求到来时创建连接池。 

posted on 2018-06-07 17:05  cathy_ming  阅读(408)  评论(0编辑  收藏  举报