Re: Should heapam_estimate_rel_size consider fillfactor?
Corey Huinker <corey.huinker@gmail.com>
From: Corey Huinker <corey.huinker@gmail.com>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-06-14T18:41:37Z
Lists: pgsql-hackers
> > So maybe we should make table_block_relation_estimate_size smarter to > also consider the fillfactor in the "no statistics" branch, per the > attached patch. > I like this a lot. The reasoning is obvious, the fix is simple,it doesn't upset any make-check-world tests, and in order to get a performance regression we'd need a table whose fillfactor has been changed after the data was loaded but before an analyze happens, and that's a narrow enough case to accept. My only nitpick is to swap (usable_bytes_per_page * fillfactor / 100) / tuple_width with (usable_bytes_per_page * fillfactor) / (tuple_width * 100) as this will eliminate the extra remainder truncation, and it also gets the arguments "in order" algebraically.
Commits
-
Correct relation size estimate with low fillfactor
- 587b6aa3f3ce 17.5 landed
- 9ba7bcc894f1 18.0 landed
-
Consider fillfactor when estimating relation size
- 29cf61ade3f2 17.0 landed