数据库连接池负责分配、管理和释放数据库连接,它允许程序重复使用一个现有的数据库连接,而不是再重新建立一个,释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏
数据库连接池 在初始化时 将创建一定的数量的数据库连接放到连接池中,这些数据库连接的连接数量由最小数据库连接数来设定的,无论数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。
数据库连接是一种稀缺的资源,为了保证网站的正常使用,应该对其进行妥善管理,当我们查询完数据库后,如果不关闭连接,而是暂时存放起来,当别人使用时,把这个连接给他们使用,就避免了一次建立数据库连接和断开的操作时间消耗。
在程序开发中,每次web请求都要建立一次数据库连接,建立连接是一个费时的活动,每次都花费0.05s~1s的时间,而且系统还要分配内存资源,当用户访问量很大的时候,频繁的进行数据库连接操作势必会占用很多的系统资源,网站的相应速度必定下降,甚至会导致服务器的崩溃,这是制约某些电子商务网站发展的技术瓶颈问题,对于每一次数据库连接,使用完后都得断开连接,否则,程序出现异常未能关闭,会导致数据库系统中的内存泄漏,还有这种开发不能控制被创建的连接对象数,系统资源会被毫无顾忌的分配出去,连接过多,也可能导致内存泄漏,服务器崩溃。
预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。数据库连接池大大提供了数据库连接的利用率,减小了内存吞吐的开销