Re: Plan not skipping unnecessary inner join

2020-05-17 Thread Ranier Vilela
I redid the same tests with vanila postgres and with empty tables.
I'm surprised, why does the plan have 2550 rows in explain?

regards,
Ranier Vilela


Re: Plan not skipping unnecessary inner join

2020-05-17 Thread Justin Pryzby
On Sun, May 17, 2020 at 09:32:47AM -0300, Ranier Vilela wrote:
> I redid the same tests with vanila postgres and with empty tables.
> I'm surprised, why does the plan have 2550 rows in explain?

That's the *estimated* rowcount.

The planner tends to ignore table statistics which say the table is empty,
since that can lead to a terrible plan if it's not true (stats are out of date
or autovacuum threshold not hit).

See also here
https://www.postgresql.org/message-id/20171110204043.GS8563%40telsasoft.com

-- 
Justin




Re: Plan not skipping unnecessary inner join

2020-05-17 Thread Ranier Vilela
Em dom., 17 de mai. de 2020 às 10:31, Justin Pryzby 
escreveu:

> On Sun, May 17, 2020 at 09:32:47AM -0300, Ranier Vilela wrote:
> > I redid the same tests with vanila postgres and with empty tables.
> > I'm surprised, why does the plan have 2550 rows in explain?
>
> That's the *estimated* rowcount.
>
> The planner tends to ignore table statistics which say the table is empty,
> since that can lead to a terrible plan if it's not true (stats are out of
> date
> or autovacuum threshold not hit).
>
Thanks for the explanation.

regards,
Ranier Vilela