sadier

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
用链接池吧!

 一个连接到数据库的connection确实很费时间和资源的,但是open后再close并不是表示再次open的时候connection是重新连接数据库的,而有可能是从连接池里直接使用已有连接,如果你启用了连接池的话,速度和资源并未有多大损伤

连接资源是宝贵的和有限的,如果一个connection长时间保持open状态,那么它就不可能返回连接池以得到再次使用,

所以connection要仅可能迟的open,而尽可能的快速关闭,这样连接资源就可以更快的返回连接池以得到再次使用

你所说的,在一个页面当中的调用,时间间隔有多大,一个连接需要保持open多长时间?

一个系统的并发可能很大,但未必会集中在一个页面的访问,所以从整体的角度来看,
最迟open ,最快close是一种很不错的方法



相对于很多人还在自己写连接池的管理程序,说明一点:

ASP.NET对连接池的支持已经可以简化到完全不用coding了,如果担心默认的情况下没有打开,可以在connectionstring里面设置pooling=true。

另外,还可以显式的指定最小和最大的连接保持数,比如,MinPoolSize=5,你可以在SQL Server的Enterprise Manager里观察到从ASP.NET来的连接数总是保持在5个以上的。

一句话,用了连接池以后,你的网页里的打开和关闭只是从池取出和放回连接而已了,而这一切都是ASP.NET Framework自动提供的,你要做的只是设设参数而已。
posted on 2005-04-10 20:24  毛小华  阅读(1634)  评论(1编辑  收藏  举报