From: | Greg Stark <gsstark(at)mit(dot)edu> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Markus Wanner <markus(at)bluegap(dot)ch>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: changing MyDatabaseId |
Date: | 2010-11-17 17:42:33 |
Message-ID: | AANLkTin+Sg_hV5tBDNLPgKR+-YELjdv2g7Xv0uKVLj28@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Nov 17, 2010 at 4:52 PM, Robert Haas <robertmhaas(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Teodor Sigaev | 2010-11-17 17:46:22 | Re: GiST insert algorithm rewrite |
Previous Message | Teodor Sigaev | 2010-11-17 17:36:34 | Re: GiST insert algorithm rewrite |