连接池
频繁的数据库连接操作势必占用很多的资源,响应速度必定下降。程序出现异常而未能关闭,将会导致数据库系统中的内存泄露,最终将不得不重启数据库。系统资源被毫无顾忌的分配出去,如连接过多,也可能导致内存泄露,服务器崩溃。
为数据库连接建立一个“缓冲池”。预先在缓冲池中放一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。通过设定连接池最大连接数来防止系统无休无止的数据库连接。更为重要的是可以通过连接池的管理机制监视数据库的连接数量、使用情况,为系统开发、测试及性能提供依据。
连接池的分配与释放
如果没有空闲连接,则检查当前连接池是否达到所允许的最大连接数,如果没有达到,就建立一个新连接,如果已经达到,就等待一定时间。如果在等待的时间内有连接被释放出来就可以把这个连接分配给等待的用户,如果等待的时间超过预定时间,则返回空值。