Re: Why does the planner reduce the planned rows when filtering single values in an array - Mailing list pgsql-general

From Tom Lane
Subject Re: Why does the planner reduce the planned rows when filtering single values in an array
Date
Msg-id 3341124.1682088214@sss.pgh.pa.us
Whole thread Raw
In response to Why does the planner reduce the planned rows when filtering single values in an array  (Isaiah Langford <ilangford@ushrauto.com>)
Responses Re: Why does the planner reduce the planned rows when filtering single values in an array
List pgsql-general
Isaiah Langford <ilangford@ushrauto.com> writes:
> Why is the planner expecting the number of rows to be reduced by the join filter? Is there any way I can correct the
plannerhere? 

I think you're running into a couple of issues here:

* ANALYZE fails to record any useful stats for a single-row table.
It can't form a histogram with only one entry, but it also fails to
put the value into the MCV list, because there's a heuristic that an
MCV must appear more than once.  Possibly we could think harder
about what to do with such cases, but at the moment the planner has
no knowledge that the only value in single_value_table is "1".

* Even if it did know that, the logic in scalararraysel() is quite
inadequate for the case of "variable = ANY(variable)".  It looks
like that's only been fleshed out for cases where one side or
the other is a constant.

Lot of unfinished work here :-(

            regards, tom lane



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: HOT update: why must ALL indexes should be update?
Next
From: senor
Date:
Subject: Re: vacuum TOAST tables