连接池

在软件工程中，连接池（）是维护的数据库连接的缓存，以便在将来需要对数据库发出请求时可以重用连接。
连接池用于提高在数据库上执行命令的性能。为每个用户打开和维护数据库连接，尤其是对动态数据库驱动的網站应用程序发出的请求，既昂贵又浪费资源。在连接池中，创建连接之后，将连接放在池中并再次使用，这样就不必建立新的连接。如果所有连接都正在使用，则创建一个新连接并将其添加到池中。连接池还减少了用户必须等待建立与数据库的连接的时间。

应用
基于Web的应用程序和企业级软件使用應用程式伺服器来处理连接池。没有连接池的動態網頁根据需要打开到数据库服务的连接，并在页面完成服务特定请求时关闭这些连接。另一方面，使用连接池的页面在池中维护打开的连接。当页面需要访问数据库时，它只需使用来自池的现有连接，并且只有在没有池连接可用时才建立新连接。这减少了与连接到数据库以服务单个请求相关的开销。

需要经常访问数据库的本地应用程序也可以受益于连接池。可以在不需要为单独的远程请求提供服务的本地应用程序（如应用服务器）中维护开放的连接，但是连接池的实现可能会变得复杂。许多可用的库实现了连接池和相关的SQL查询池，简化了数据库密集型应用程序中连接池的实现。

管理员可以通过限制最小连接数、最大连接数和空闲连接数来配置连接池，以优化特定问题场景下和特定环境中的池性能。

数据库支持
IBM DB2IBM Connection Pooling Support、Microsoft SQL Server、Oracle、MySQL、PostgreSQL和支持连接池。

参见
对象池模式

参考文献

Category:数据库管理系统