On Wed, Nov 17, 2010 at 4:52 PM, Robert Haas <robertmh...@gmail.com> wrote: > However, that test doesn't capture everything. For example, imagine a > connection pooler sitting in front of PG. Rebinding to a new database > means disconnecting a TCP connection and establishing a new one. > Switching databases might save some latency there even if we don't > actually save much in terms of CPU instructions. Maybe that's not > important, though. I don't know. I don't want to let my theorizing > get too far ahead of the data.
Everything you said is true but there's more. A freshly created backend needs to build relcache entries and for every relation in your query. A reused connection eventually warms up the relcache and syscaches and can plan new queries using them without doing any syscalls. And of course if it's a query that's already been planned might be able to reuse the entire plan structure without replanning it. -- greg -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers