Re: Analyze on table creation?

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: James Coleman <jtc331(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Analyze on table creation?
Date: 2023-06-26 17:43:58
Message-ID: CAFj8pRBVh2XErtOdrf+J+bEs-_ffOBOFiz4pFe-gbA95zrdi=A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

po 26. 6. 2023 v 19:41 odesílatel James Coleman <jtc331(at)gmail(dot)com> napsal:

> Hello,
>
> Have we ever discussed running an analyze immediately after creating a
> table?
>
> Consider the following:
>
> create table stats(i int, t text not null);
> explain select * from stats;
> Seq Scan on stats (cost=0.00..22.70 rows=1270 width=36
> analyze stats;
> explain select * from stats;
> Seq Scan on stats (cost=0.00..0.00 rows=1 width=36)
>
> Combined with rapidly increasing error margin on row estimates when
> adding joins means that a query joining to a bunch of empty tables
> when a database first starts up can result in some pretty wild plan
> costs.
>
> This feels like a simple idea to me, and so I assume people have
> considered it before. If so, I'd like to understand why the conclusion
> was not to do it, or, alternatively if it's a lack of tuits.
>

I like this. On the second hand, described behaviour is designed for
ensuring of back compatibility.

Regards

Pavel

> Regards,
> James Coleman
>
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2023-06-26 17:44:53 Re: Analyze on table creation?
Previous Message James Coleman 2023-06-26 17:40:49 Analyze on table creation?