Re: Persistent Plan Cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Joshua Rubin wrote:
Hi,

We have a very large, partitioned, table that we often need to query
from new connections, but frequently with similar queries. We have
constraint exclusion on to take advantage of the partitioning. This also
makes query planning more expensive. As a result, the CPU is fully
loaded, all the time, preparing queries, many of which have been
prepared, identically, by other connections.

Is there any way to have a persistent plan cache that remains between
connections? If such a mechanism existed, it would give us a great
speedup because the CPU's load for planning would be lightened
substantially.

It's not a great solution, but depending on the specific client technology you use, it can done on the client-side. For example, I've done it before in Java and PHP, and the principle extends to any environment that has any possibility of maintaining "persistent" connections to the database, if you create a thin wrapper for the connections.

I have open-sourced such a wrapper for PHP, if you're interested.


--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux