pgsql: Consider fillfactor when estimating relation size

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема pgsql: Consider fillfactor when estimating relation size
Дата
Msg-id E1qGNih-001kCA-FN@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Consider fillfactor when estimating relation size

When table_block_relation_estimate_size() estimated the number of tuples
in a relation without statistics (e.g. right after load), it did not
consider fillfactor when calculating density. With non-default
fillfactor values, this may result in significant overestimate of the
number of tuples - up to 10x with the minimum 10% fillfactor. This may
have unexpected consequences, e.g. when creating hash indexes.

This considers the current fillfactor value in the "no statistics" code
path.  If the fillfactor changes after loading data into the table, the
estimate may be off. But that seems much less likely than changing the
fillfactor before the data load.

Reviewed-by: Corey Huinker, Peter Eisentraut
Discussion: https://postgr.es/m/cf154ef9-6bac-d268-b735-67a3443debba@enterprisedb.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/29cf61ade3f245aa40f427a1d6345287ef77e622

Modified Files
--------------
src/backend/access/table/tableam.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)


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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Remove expensive test of postgres_fdw batch inserts
Следующее
От: Nathan Bossart
Дата:
Сообщение: pgsql: Don't truncate database and user names in startup packets.