From: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
---|---|
To: | Mitar <mmitar(at)gmail(dot)com> |
Cc: | "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Optimizing the same PREPAREd static query (without parameters) |
Date: | 2019-01-07 08:44:14 |
Message-ID: | CAKJS1f8E_LU7RtsCuN+ezFBLXTZLf3726aNDf6McaUw3twGd3g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, 7 Jan 2019 at 21:40, Mitar <mmitar(at)gmail(dot)com> wrote:
>
> On Mon, Jan 7, 2019 at 12:09 AM David Rowley
> <david(dot)rowley(at)2ndquadrant(dot)com> wrote:
> > On Mon, 7 Jan 2019 at 18:54, Mitar <mmitar(at)gmail(dot)com> wrote:
> > > If I have a PREPAREd query without parameters (static) and I EXECUTE
> > > it repeatedly in the same session, does PostgreSQL learn/optimize
> > > anything across those runs?
> >
> > Yes, it will generate the query plan on the first invocation of
> > EXECUTE and use that plan for all subsequent EXECUTEs for the session
> > until you DEALLOCATE the prepared query or DISCARD PLANS/ALL;
>
> So this sounds more like no? So the same plan is used, so PostgreSQL
> is not further optimizing the plan based on any statistics or
> anything?
You asked if it learned anything. I mentioned that it learns the query
plan, so I'd have said "Yes".
If you're asking if it caches the result and foregoes scanning the
underlying tables, then that's a "No". Else what further optimising
did you have in mind?
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Güttler | 2019-01-07 10:12:11 | Re: Use bytearray for blobs or not? |
Previous Message | Mitar | 2019-01-07 08:40:38 | Re: Optimizing the same PREPAREd static query (without parameters) |