pgsql: HashAgg: use better cardinality estimate for recursive spilling.

Поиск
Список
Период
Сортировка
От Jeff Davis
Тема pgsql: HashAgg: use better cardinality estimate for recursive spilling.
Дата
Msg-id E1k0fOr-0007rm-Iz@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
HashAgg: use better cardinality estimate for recursive spilling.

Use HyperLogLog to estimate the group cardinality in a spilled
partition. This estimate is used to choose the number of partitions if
we recurse.

The previous behavior was to use the number of tuples in a spilled
partition as the estimate for the number of groups, which lead to
overpartitioning. That could cause the number of batches to be much
higher than expected (with each batch being very small), which made it
harder to interpret EXPLAIN ANALYZE results.

Reviewed-by: Peter Geoghegan
Discussion: https://postgr.es/m/a856635f9284bc36f7a77d02f47bbb6aaf7b59b3.camel@j-davis.com
Backpatch-through: 13

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9878b643f37b1e4167f64a9941244bfabed60623

Modified Files
--------------
src/backend/executor/nodeAgg.c | 64 +++++++++++++++++++++++++++---------------
src/include/executor/nodeAgg.h |  2 +-
2 files changed, 43 insertions(+), 23 deletions(-)


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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: pgsql: Fix incorrect print format in json.c
Следующее
От: Jeff Davis
Дата:
Сообщение: pgsql: HashAgg: use better cardinality estimate for recursive spilling.