php7 conn close,关闭数据库连接conn.Close()与conn.Dispose()的区别

conn.Close()和conn.Dispose()都可以关闭数据库连接,那他们之间有什么区别呢?

conn.Close()与conn.Dispose()的区别

执行Close()不释放数据库连接池的资源,而是把连接放回连接池中待用;

Dispose则会把这个连接彻底销毁掉,不会再放入连接池。如果所有的连接都被Dispose的话,每次使用数据库都必须重新创建连接,这样很耗费资源。因此不要用Dispose。

6cc2c22839a84a6a2011162d68bfd873.png

也就是说Close()是关闭,Dispose()是释放对象(回收)。

比如Conn对象,Close过后,Conn这个对象本身还存在内存中,需要在使用的时候,可以直接使用。

而调用Dispose()后,Conn对象被回收,Conn对象已经不存在了,下次再需要使用的时候,对象就不存在了,需要重新创建。

.NET会维护连接池,连接Open的时候从连接池中取出一个没有使用的连接,用完以后Close()的时候再放回连接池,实际上没有创建新的连接,从而提高了性能。 因此为了性能,为了使用连接池,不可以dispose,但必须close() 。

.NET中所有创建的对象有垃圾收集器进行管理,因些也不需要我们手动释放或dispose。

声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/160.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值