# Persistent Database Connection Pooling

Solves - "I've analyzed my app's performance and it seems to be spending a lot of time just logging into the database."

A persistent database connection pooling system maintains a pool of already-logged-in database connections and hands them off to applications, reducing the time it takes the app to connect to the database.

Logging into some databases can take a noticable amount of time...

In fact, it may take longer for an application to log in than to run all of the queries it needs to run. This can be especially problematic for transient apps such as web-based applications which start up, connect, query, and shut down, over and over.

Logging into a connection pooling takes a very short amount of time and since the connection pooling system has been maintaining already-logged-in database connections, the database is immediately available.

A connection pooling system can significantly reduce the amount of time it takes an app to begin running queries.

This is especially true when an application uses a cloud service database located across the internet, and even more significant when that database requires TLS/SSL authentication.

Many connection pooling systems are built into application servers or run within a web-server but can only be used by applications running within that server and usually only by applications written in a particular language. SQL Relay runs stand-alone and may be used by any application, including applications running on other machines across the network. This is especially useful if you have a variety of apps, written in different languages, running on various platforms that all need to talk to the same database.