JOJ
踏踏实实做人,认认真真做事!放纵自己就是毁灭自己!

王然

连接池概念

  • 连接池是一个进程
  • 该进程保存连接并使其处于活动状态,使连接可以被重复使用

连接到数据源

  1. 建立物理通道 (套接字或命名管道)
  2. 与服务器进行初次握手
  3. 分析连接字符串信息
  4. 由服务器对连接进行身份验证
  5. 运行检查以便在当前事务中登记
  6. ……

连接到数据库需要这么的步骤,如果每次都这样新建连接是比较耗效率的!

 

连接池的作用:

  1. 通过数据库连接池,应用程序可以重用池中现有的连接,而不必每次反复的与数据库建立新的连接
  2. 使用连接池可显著提高应用程序的可伸缩性,因为有限数量的数据库连接可以为数量大得多的客户端提供服务。
  3. 由于可以节省建立新连接所需的大量时间,使用连接池还能改善性能,对应用程序来说是透明的.

连接池工作过程

  • Pooling参数为true时(默认为true),连接池启用。
  • 两个连接的连接字符串相同时,被放置在一个连接池中。
  • 两个连接的连接字符串不相时,被放置在不同的连接池中。
  • 连接被Close时,连接被放置在连接池中以备重用.
  • 连接被Dispose时,连接被彻底删除,而不是放在连接池中.[以前我经常每次调用close后还调用Dispose,看来我做错了,有点画蛇添足了]
  • 连接池最后一个连接被Close时,连接池被删除

SQL Server连接池的默认配置

  1. Connection Lifetime              连接生存期              默认 0
  2. Connection Reset                 连接重置                默认 True
  3. Enlist                           登记事务                默认 True
  4. Max Pool Size                    最大池大小              默认  100
  5. Min Pool Size                    最小池大小              默认  0
  6. Pooling                          是否启用连接池           默认 True

如果连接个数大于MaxPoolSize个数时,则程序抛出一个异常!

。。。。

 

以上资源来源微软webcast学习资源! 感谢原作者!

Technorati 标签: 连接池
posted on 2010-05-30 21:28  JoinJ  阅读(458)  评论(0编辑  收藏  举报