pgsql: Collect and use multi-column dependency stats

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема pgsql: Collect and use multi-column dependency stats
Дата
Msg-id E1cvt3y-0008R4-5z@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Collect and use multi-column dependency stats

Follow on patch in the multi-variate statistics patch series.

CREATE STATISTICS s1 WITH (dependencies) ON (a, b) FROM t;
ANALYZE;
will collect dependency stats on (a, b) and then use the measured
dependency in subsequent query planning.

Commit 7b504eb282ca2f5104b5c00b4f05a3ef6bb1385b added
CREATE STATISTICS with n-distinct coefficients. These are now
specified using the mutually exclusive option WITH (ndistinct).

Author: Tomas Vondra, David Rowley
Reviewed-by: Kyotaro HORIGUCHI, Álvaro Herrera, Dean Rasheed, Robert Haas
and many other comments and contributions
Discussion: https://postgr.es/m/56f40b20-c464-fad2-ff39-06b668fac47c@2ndquadrant.com

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/2686ee1b7ccfb9214064d4d2a98ea77382880306

Modified Files
--------------
contrib/file_fdw/file_fdw.c                      |    1 +
contrib/postgres_fdw/postgres_fdw.c              |    5 +-
doc/src/sgml/catalogs.sgml                       |    9 +
doc/src/sgml/planstats.sgml                      |  154 +++
doc/src/sgml/ref/create_statistics.sgml          |   42 +-
src/backend/catalog/system_views.sql             |    3 +-
src/backend/commands/statscmds.c                 |   17 +-
src/backend/optimizer/path/clausesel.c           |  113 ++-
src/backend/optimizer/path/costsize.c            |   25 +-
src/backend/optimizer/util/orclauses.c           |    4 +-
src/backend/optimizer/util/plancat.c             |   12 +
src/backend/statistics/Makefile                  |    2 +-
src/backend/statistics/README                    |   68 +-
src/backend/statistics/README.dependencies       |  119 +++
src/backend/statistics/dependencies.c            | 1079 ++++++++++++++++++++++
src/backend/statistics/extended_stats.c          |  105 ++-
src/backend/utils/adt/ruleutils.c                |   54 +-
src/backend/utils/adt/selfuncs.c                 |   20 +-
src/bin/psql/describe.c                          |   12 +-
src/include/catalog/pg_cast.h                    |    4 +
src/include/catalog/pg_proc.h                    |    9 +
src/include/catalog/pg_statistic_ext.h           |    7 +-
src/include/catalog/pg_type.h                    |    4 +
src/include/optimizer/cost.h                     |    6 +-
src/include/statistics/extended_stats_internal.h |    5 +
src/include/statistics/statistics.h              |   44 +
src/test/regress/expected/opr_sanity.out         |    3 +-
src/test/regress/expected/rules.out              |    3 +-
src/test/regress/expected/stats_ext.out          |  110 ++-
src/test/regress/expected/type_sanity.out        |    7 +-
src/test/regress/sql/stats_ext.sql               |   68 ++
31 files changed, 2035 insertions(+), 79 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: pgsql: Allow --with-wal-segsize=n up to n=1024MB
Следующее
От: Simon Riggs
Дата:
Сообщение: pgsql: Reduce lock level for CREATE STATISTICS