Re: Merging statistics from children instead of re-sampling everything

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Merging statistics from children instead of re-sampling everything
Date: 2021-03-29 18:36:24
Message-ID: 20210329183624.GC4431@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Thanks for taking a fresh look at this.

As you've written it, this can apply to either/both partitioned or inheritence.
I imagine when "MERGE" goes away, this should apply only to partitioned tables.
(Actually, personally I would advocate to consider applying it to *both*, but I
don't think that's been the tendency over the last 4 years. I wrote here about
some arguably-gratuitous differences between inheritence and partitioning.
https://www.postgresql.org/message-id/20180601221428.GU5164@telsasoft.com)

> + if (*mcv_items > default_statistics_target)
> + n = default_statistics_target;

It should use any non-default stats target of the parent's column

> + * ignore anything but valid leaf relatiins with data, but release

sp: relatiins.

> + elog(WARNING, "stats for %d %d not found",
> + RelationGetRelid(rels[j]), vacattrstats[i]->attr->attnum);

should be %u %d

This code duplication is undesirable:
> + /* Log the action if appropriate */
> + * Determine which columns to analyze

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2021-03-29 18:45:04 Re: TRUNCATE on foreign table
Previous Message Cary Huang 2021-03-29 17:59:00 Re: [PATCH] Add --create-only option to pg_dump/pg_dumpall