一、连接池的基本概念
1.什么是连接池?
数据库连接池负责分配、管理和释放数据库连接,其基本思想就是为数据库建立一个“缓冲池”,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕后再放回去。
可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量和使用情况,为系统开发和测试及性能调整提供依据。
(1)使用连接池的原因:创建连接和释放连接都有很大的开销(尤其是数据库服务器不在本地时,每次建立连接都需要进行TCP的三次握手,释放连接需要进行TCP的四次握手,造成的开销是不可忽视的),因此是为了提升系统访问数据库的性能。典型的用空间换取时间的策略(浪费了空间存储连接,但是节省了创建和释放连接的时间)。
(2)不使用连接池的流程:
连接池的TCP连接、数据库认证、数据库关闭、Tcp关闭步骤会复用。
(3)普通连接与连接池的比较:
优点 | 缺点 | |
普通连接 | 1.实现简单 | 1.网络IO较多 2.数据库的负载较高 3.响应时间 |