From: | Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru> |
---|---|
To: | Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com> |
Cc: | Nicolas Lutic <n(dot)lutic(at)loxodata(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Richard Guo <guofenglinux(at)gmail(dot)com> |
Subject: | Re: planner chooses incremental but not the best one |
Date: | 2024-02-15 06:50:22 |
Message-ID: | a2f7d8ef-b002-4633-a58f-496795bc9a97@postgrespro.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 18/12/2023 19:53, Tomas Vondra wrote:
> On 12/18/23 11:40, Richard Guo wrote:
> The challenge is where to get usable information about correlation
> between columns. I only have a couple very rought ideas of what might
> try. For example, if we have multi-column ndistinct statistics, we might
> look at ndistinct(b,c) and ndistinct(b,c,d) and deduce something from
>
> ndistinct(b,c,d) / ndistinct(b,c)
>
> If we know how many distinct values we have for the predicate column, we
> could then estimate the number of groups. I mean, we know that for the
> restriction "WHERE b = 3" we only have 1 distinct value, so we could
> estimate the number of groups as
>
> 1 * ndistinct(b,c)
Did you mean here ndistinct(c,d) and the formula:
ndistinct(b,c,d) / ndistinct(c,d) ?
Do you implicitly bear in mind here the necessity of tracking clauses
that were applied to the data up to the moment of grouping?
--
regards,
Andrei Lepikhov
Postgres Professional
From | Date | Subject | |
---|---|---|---|
Next Message | Sutou Kouhei | 2024-02-15 06:51:29 | Re: Make COPY format extendable: Extract COPY TO format implementations |
Previous Message | Zhijie Hou (Fujitsu) | 2024-02-15 06:36:55 | RE: Synchronizing slots from primary to standby |