Connection pooling refers to a cache of database connections that are maintained so that the connections can be reused when future requests to the database are required. Connection pools are designed to improve performance by minimizing the opening, closing, or maintaining of a separate database connection for each requestor. When using connection pooling, a database connection is returned to a pool when no longer needed by a requestor and made available for future requests.