王然
连接池概念
- 连接池是一个进程
- 该进程保存连接并使其处于活动状态,使连接可以被重复使用
连接到数据源
- 建立物理通道 (套接字或命名管道)
- 与服务器进行初次握手
- 分析连接字符串信息
- 由服务器对连接进行身份验证
- 运行检查以便在当前事务中登记
- ……
连接到数据库需要这么的步骤,如果每次都这样新建连接是比较耗效率的!
连接池的作用:
- 通过数据库连接池,应用程序可以重用池中现有的连接,而不必每次反复的与数据库建立新的连接
- 使用连接池可显著提高应用程序的可伸缩性,因为有限数量的数据库连接可以为数量大得多的客户端提供服务。
- 由于可以节省建立新连接所需的大量时间,使用连接池还能改善性能,对应用程序来说是透明的.
连接池工作过程
- Pooling参数为true时(默认为true),连接池启用。
- 两个连接的连接字符串相同时,被放置在一个连接池中。
- 两个连接的连接字符串不相时,被放置在不同的连接池中。
- 连接被Close时,连接被放置在连接池中以备重用.
- 连接被Dispose时,连接被彻底删除,而不是放在连接池中.[以前我经常每次调用close后还调用Dispose,看来我做错了,有点画蛇添足了]
- 连接池最后一个连接被Close时,连接池被删除
SQL Server连接池的默认配置
- Connection Lifetime 连接生存期 默认 0
- Connection Reset 连接重置 默认 True
- Enlist 登记事务 默认 True
- Max Pool Size 最大池大小 默认 100
- Min Pool Size 最小池大小 默认 0
- Pooling 是否启用连接池 默认 True
如果连接个数大于MaxPoolSize个数时,则程序抛出一个异常!
。。。。
以上资源来源微软webcast学习资源! 感谢原作者!
Technorati 标签: 连接池
记录学习点滴...,坚持每天让自己的技能增加1%,默默的坚持下去吧!:-)