Re: [GENERAL] How to evaluate "explain analyze" correctly after"explain" for the same statement ? - Mailing list pgsql-general

From Steve Atkins
Subject Re: [GENERAL] How to evaluate "explain analyze" correctly after"explain" for the same statement ?
Date
Msg-id 626A9493-ED0B-43A1-A690-C32C321CA1BA@blighty.com
Whole thread Raw
In response to [GENERAL] How to evaluate "explain analyze" correctly after "explain" for thesame statement ?  (Patrick B <patrickbakerbr@gmail.com>)
Responses Re: [GENERAL] How to evaluate "explain analyze" correctly after"explain" for the same statement ?  (Patrick B <patrickbakerbr@gmail.com>)
List pgsql-general
> On Feb 15, 2017, at 3:58 PM, Patrick B <patrickbakerbr@gmail.com> wrote:
>
> Hi all,
>
> I just got a quick question about warm-cache. I'm using PG 9.2.
>
> When I execute this statement soon after I start/restart the database:
>
> explain select id from test where id = 124;
>
> The runtime is 40ms.
>
> Then, If I execute this statement just after the above one;
>
> explain analyze select id from test where id = 124;
>
> The runtime is 0.8ms.

This doesn't make seem to make sense.

"explain select ..." doesn't run the query. All it shows is the plan the planner chose and some estimates of the "cost"
ofdifferent steps, with no time. Where are you getting 40ms from in this case? 

"explain analyze select ..." does run the query, along with some - potentially non-trivial - instrumentation to measure
eachstep of the plan, so you can see whether the planner estimates are reasonable or wildly off. 

Cheers,
  Steve



pgsql-general by date:

Previous
From: Andres Freund
Date:
Subject: Re: [GENERAL] Potential Bug: Frequent Unnecessary Degeneration
Next
From: "Joshua D. Drake"
Date:
Subject: Re: [GENERAL] Can't restart Postgres