MicroStrategy ONE

Caching Database Connections

Connecting to and disconnecting from databases incurs a small amount of overhead that may cause a small yet noticeable decrease in performance in high-concurrency systems. With connection caching, Intelligence Server is able to reuse database connections. This minimizes the overhead associated with repeatedly connecting to and disconnecting from databases.

Connections can exist in one of two states:

  • Busy: connections that are actively submitting a query to a database
  • Cached: connections that are still connected to a database but not actively submitting a query to a database

A cached connection is used for a job if the following criteria are satisfied:

  • The connection string for the cached connection matches the connection string that will be used for the job.
  • The driver mode (multiprocess versus multithreaded) for the cached connection matches the driver mode that will be used for the job.

Intelligence Server does not cache any connections that have pre- or post-SQL statements associated with them because these options may drastically alter the state of the connection.