pgsql: Use CP_SMALL_TLIST for hash aggregate

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема pgsql: Use CP_SMALL_TLIST for hash aggregate
Дата
Msg-id E1jfNuL-0005vm-JV@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Use CP_SMALL_TLIST for hash aggregate

Commit 1f39bce021 added disk-based hash aggregation, which may spill
incoming tuples to disk. It however did not request projection to make
the tuples as narrow as possible, which may mean having to spill much
more data than necessary (increasing I/O, pushing other stuff from page
cache, etc.).

This adds CP_SMALL_TLIST in places that may use hash aggregation - we do
that only for AGG_HASHED. It's unnecessary for AGG_SORTED, because that
either uses explicit Sort (which already does projection) or pre-sorted
input (which does not need spilling to disk).

Author: Tomas Vondra
Reviewed-by: Jeff Davis
Discussion: https://postgr.es/m/20200519151202.u2p2gpiawoaznsv2%40development

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4cad2534da6d17067d98cf04be2dfc1bda8f2cd0

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out |  4 ++--
src/backend/optimizer/plan/createplan.c        | 28 ++++++++++++++++++++++----
2 files changed, 26 insertions(+), 6 deletions(-)


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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: pgsql: Doc: Mention about caveats of --concurrently on reindexdb page
Следующее
От: Andrew Dunstan
Дата:
Сообщение: pgsql: Make install-tests target work with vpath builds