Connection Pooling is a technique used for reuse of physical connections and reduced overhead for your application.
Connection pooling functionality minimizes expensive operations in the creation and closing of sessions.
Database vendor's help multiple clients to share a cached set of connection objects that provides access to a database. Clients need not create a new connection every time to interact with the database.