对SQL连接池的理解

本人是做asp.net开发的,用到的数据库也是sql server,写了一年的代码了,每天写conn.open()和conn.close(),最近又开始研究C#,觉得自己没有学好,因为会写代码的人多得是,能说出为什么要这么写的人没有几个(至少在我这个工作年限)。

我无意中了解到关于一个Idisposable接口的知识,研究了一天也没有完全理解什么时候要调用这个接口的方法,可是发现using 这个语法就会去调用这个接口的方法去销毁一个对象,然后看了很多代码,发现,有的人连接数据库用的useing,而我却一直用的open和close,可是我这样写也没出什么错误,今天查了很多资料,最后发现,使用using后会销毁这个对象,使用close会把连接关闭,然后放到sql的连接池里面,SQL连接池有一个超时机制,超时的连接也会被销毁掉,那么使用using的结果就是每次都是重新打开一个物理连接,每次都会消耗一定的时间,不过这个时间很短,一般也就几毫秒而已,所以我们不用太在意。

如果考虑到并发量很大的网址,或者对性能要求很强的网址,每次都去打开这个连接是不是很浪费时间和资源呢,最后我发现sql的连接字符串中有一个属性 Min Pool Size,默认的是0,也就是说sql连接池有多少个连接数,这个连接数是物理连接数,我们可以改变这个值来设置让sql连接池一直有这么多物理连接不关闭,这样子,我们就不用考虑打开数据库连接的时间了。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值