Re: multivariate statistics v11

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: multivariate statistics v11
Date: 2016-03-08 20:13:08
Message-ID: 1457467988.15281.23.camel@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

attached is v11 of the patch - this is mostly a cleanup of v10, removing
redundant code, adding missing comments, removing obsolete FIXME/TODOs
and so on. Overall this shaves ~20kB from the patch (not a primary
objective, though).

The one thing this (hopefully) fixes is handling of varRelid. Apparently
I got that a slightly wrong in the previous versions.

One thing I'm not quite sure about is schema of the new system catalog.
The existing catalog pg_statistic uses generic design with stakindN,
stanumbersN and stavaluesN columns, while the new catalog uses dedicated
columns for each type of stats (MCV, histogram, ...). Not sure whether
it's desirable to switch to the pg_statistic approach or not.

There are a few things I plan to look into next:

* possibly more cleanups in clausesel.c (I'm wondering if some pieces
should be moved to utils/mvstats/*.c)

* a few FIXMEs in the infrastructure (e.g. deriving a name when not
specified in CREATE STATISTICS)

* move the ndistinct coefficients after functional dependencies in
the patch series (but only use them for GROUP BY for now)

* extend the functional dependencies to handle multiple columns on
the left side (condition), i.e. dependencies like (a,b) -> c

* address a few remaining FIXMEs in MCV/histograms building

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
0001-teach-pull_-varno-varattno-_walker-about-RestrictInf.patch text/x-patch 1.4 KB
0002-shared-infrastructure-and-functional-dependencies.patch text/x-patch 106.3 KB
0003-clause-reduction-using-functional-dependencies.patch text/x-patch 47.7 KB
0004-multivariate-MCV-lists.patch text/x-patch 112.8 KB
0005-multivariate-histograms.patch text/x-patch 136.5 KB
0006-multi-statistics-estimation.patch text/x-patch 97.7 KB
0007-multivariate-ndistinct-coefficients.patch text/x-patch 28.5 KB
0008-change-how-we-apply-selectivity-to-number-of-groups-.patch text/x-patch 1.4 KB
0009-fixup-of-regression-tests-plans-changes-by-group-by-.patch text/x-patch 6.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Artur Zakirov 2016-03-08 20:21:03 Re: Proposal: Generic WAL logical messages
Previous Message Robert Haas 2016-03-08 20:12:54 Re: Proposal: RETURNING primary_key()