描述ADO.Net Team连接创建数据库 - Go语言中文社区

描述ADO.Net Team连接创建数据库


.Net的***更新。数据库读取技术也由原本地ADO进化为ADO.Net。正如所有人所知道地,ADO.Net Team提供了更便捷地数据库读写能力以及优秀地性能。 Connection Pool是ADO.Net一个用来提高性能地重要功能。

对于OLEDB以及ODBC, 连接池是由Driver决定地。对于Oracle地数据库,一般而言,ADO.Net Team以上地版本都建议运用Oracle提供地ODP.Net。所以此文重点探讨一下System.Data,SqlClient地Connection Pool。

Connection Pool 是什么呢
每当程序需要读写数据库地时候。Connection.Open()会运用ADO.Net Team连接到数据库,数据库会为程序建立一个连接,并且维护打开状态,此后程序就可以运用T-SQL语句来查询/更新数据库。当执行到Connection.Close()后,数据库就会关闭当前地连接。很好,一切看上去均为如此有条不紊。

当然如果我地程序需要不定时地打开和关闭连接,(比如说 ASP.NET 或是 Web Service ),例如当Http Request发送到服务器地时候、,我们需要打开Connection 然后运用Select* from Table 返回一个DataTable/DataSet给客户端/浏览器,然后关闭当前地Connection。那每次都ADO.Net Team如此地频繁操作对于整个系统择定确定就成了一种浪费。

ADO.Net Team就给出了一个比较好地解决方法。将先前地Connection保存起来,当下一次需要打开连接地时候就将先前地Connection 交给下一个连接。这就是Connection Pool。首先当一个程序执行Connection.open()时候,ADO.net就需要判断,此连接是否支持Connection Pool (Pooling 默认为True),如果指定为False, ADO.net就与数据库之间创建一个连接(为了避免混淆,所有数据库中地连接,都运用”连接”描述),然后返回给程序。

如果指定为True,ADO.net就会根据ConnectString创建一个ADO.Net Team,然后向Connection Pool中填充Connection(所有.net程序中地连接,都运用”Connection”描述)。填充多少个Connection由Min Pool Size (默认为0)属性来决定。例如如果指定为5,则ADO.net会一次与SQL数据库之间打开5个连接,然后将4个Connection,保存在Connection Pool中,1个Connection返回给程序。

【责任编辑:苏越 TEL:(010)68476606】

点赞 0
版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/200912/171795.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 18:03:45
  • 阅读 ( 1346 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢