Re: Optimizing the same PREPAREd static query (without parameters)

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

In response to

Responses

Browse pgsql-general by date

  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)