什么是连接池?
正常情况下,每次访问数据库都会打开和关闭,中断物理连接后需要再次进行物理连接。这样操作会浪费资源
使用连接池,主要的区别在于,不需要中断物理连接,即每次中断请求时spid还是存在!
原理:不物理中断连接如何清理连接信息? 连接池会将上次使用的资源,通过回收机制进行连接信息清理的。
例如:当Ado.net中调用了Connection.Close()时,SQL Server通过exec sp_reset_connection来清除上次的连接信息
该sp工作内容如下:
- 关闭游标
- 清除临时对象,比如临时表
- 释放锁
- 重置Set选项
- 重置统计信息
- 回滚未提交的事务
- 切换到连接的默认数据库
- 重置Trace Flag
性能计数器统计 连接数量
Connection Reset/sec