asp.net如何设置数据库连接池的数量
http://www.cnblogs.com/wbcms/archive/2008/10/11/1308725.html
可以使用一组名称-值对以链接字符串的形式配置链接池。例如,可以配置池是否有效(默认是有效的),池的最大、最小容量,用于打
开链接的排队请求被阻断的时间。下面的示例字符串配置了池的最大和最小容量。
"Server=(local); Integrated Security=SSPI; Database=Northwind;
Max Pool Size=75; Min Pool Size=5"
摘要
连接池允许应用程序从连接池中获得一个连接并使用这个连接,而不需要为每一个连接请求重新建立一个连接。一旦一个新的连接被创建
并且放置在连接池中,应用程序就可以重复使用这个连接而不必实施整个数据库连接创建过程。
当应用程序请求一个连接时,连接池为该应用程序分配一个连接而不是重新建立一个连接;当应用程序使用完连接后,该连接被归还给连接
池而不是直接释放。
如何实现连接池
确保你每一次的连接使用相同的连接字符串(和连接池相同);只有连接字符串相同时连接池才会工作。如果连接字符串不相同,应用程序
就不会使用连接池而是创建一个新的连接。
优点
使用连接池的最主要的优点是性能。创建一个新的数据库连接所耗费的时间主要取决于网络的速度以及应用程序和数据库服务器的
(网络)距离,而且这个过程通常是一个很耗时的过程。而采用数据库连接池后,数据库连接请求可以直接通过连接池满足而不需要为该请
求重新连接、认证到数据库服务器,这样就节省了时间。
缺点
数据库连接池中可能存在着多个没有被使用的连接一直连接着数据库(这意味着资源的浪费)。
技巧和提示
1. 当你需要数据库连接时才去创建连接池,而不是提前建立。一旦你使用完连接立即关闭它,不要等到垃圾收集器来处理它。
2. 在关闭数据库连接前确保关闭了所有用户定义的事务。
3. 不要关闭数据库中所有的连接,至少保证连接池中有一个连接可用。如果内存和其他资源是你必须首先考虑的问题,可以关闭所有的连
接,然后在下一个请求到来时创建连接池。
连接池FAQ
1. 何时创建连接池?
当第一个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符创来决定。每一个连接池都与一个不同的连接字符串相关。
当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。
2. 何时关闭连接池?
当连接池中的所有连接都已经关闭时关闭连接池。
3. 当连接池中的连接都已经用完,而有新的连接请求到来时会发生什么?
当连接池已经达到它的最大连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。当有连接释放给连接池时,连接池将
新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。
4. 我应该如何允许连接池?
对于.NET应用程序而言,默认为允许连接池。(这意味着你可以不必为这件事情做任何的事情)当然,如果你可以在SQLConnection对象的连
接字符串中加进Pooling=true;确保你的应用程序允许连接池的使用。
5. 我应该如何禁止连接池?
ADO.NET默认为允许数据库连接池,如果你希望禁止连接池,可以使用如下的方式:
1) 使用SQLConnection对象时,往连接字符串加入如下内容:Pooling=False;
2) 使用OLEDBConnection对象时,往连接字符串加入如下内容:OLE DB Services=-4;
相关文章
- RDIFramework.NET V2.9版本多语言的实现
- C#.NET 大型企业信息化系统集成快速开发平台 4.1 版本 - 面向数据库SQL语句的应用开发一
- Asp.Net_上传文件(ftp、webClient、webService)
- ASP.NET实现弹出框真分页将复选框选择的数据存到数据库中(四)
- ASP.NET从数据库中取出数据,有数据的复选框为选中
- ASP.NET MVC开发中常见异常及解决方案
- 24、ASP.NET MVC入门到精通——数据库仓储
- 解析大型.NET ERP系统 20条数据库设计规范
- ASP.NET MVC和Web API中的Angular2 - 第2部分
- https://blog.csdn.net/blmoistawinde/article/details/84329103
- 大型.NET ERP系统的20条数据库设计规范
- 解析大型.NET ERP系统 20条数据库设计规范
- Yale CAS + .net Client 实现 SSO(5)--扩展基于数据库的身份验证
- ADO.NET之1-数据库连接---ShinePans
- Janus ASP.NET 套件,完整的控件工具包
- VB.NET版机房收费系统—数据库设计
- .NET Core Mysql EF Core中通过dotnet命令Code First创建生成数据库
- .NET 使用FluentFTP实现FTP上传下载文件方法及示例代码
- .NET Core appsettings.json 获取数据库连接字符串
- .NET Core EF(Entity Framework) Core 自动创建数据库
- .NET Core采用的全新配置系统[7]: 将配置保存在数据库中
- ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC
- ADO.NET 连接方式进行数据库访问
- net.ipv4.tcp_tw_recycle、net.ipv4.tcp_tw_reuse回收tcp连接总结
- .NET Standard
- 在.NET开发面向Oracle数据库的应用程序