Too Long; Didn't Read
Connection Pools are a cache of open database connections that can be reused by clients. Using a pool mitigates strain on the database by reducing requests for new connections. Pools increase performance of individual database calls, since no time is spent requesting and opening the connection. You can create your pool at the language level, on your client, as middleware, or as some hybrid of those choices. The ideal location of your pool will depend on your unique situation. For a modern app with many many app, use middleware to let you dive into common use cases.