Go back to considering HOT on pages marked full. Commit 2fd8685e7f simplified the checking of modified attributes that takes place within heap_update(). This included a micro-optimization affecting pages marked PD_PAGE_FULL: don't even try to use HOT to save a few cycles on determining HOT safety. The assumption was that it won't work out this time around, since it can't have worked out last time around.
Remove the micro-optimization. It could only ever save cycles that are consumed by the vast majority of heap_update() calls, which hardly seems worth the added complexity. It also seems quite possible that there are workloads that will do worse over time by repeated application of the micro-optimization, despite saving some cycles on average, in the short term. Author: Peter Geoghegan <[email protected]> Reviewed-By: Álvaro Herrera <[email protected]> Discussion: https://postgr.es/m/CAH2-WznU1L3+DMPr1F7o2eJBT7=3bajoy6zkwabaxnt+-af...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/1a6f5a0e876306293fda697e7820b404d5b93693 Modified Files -------------- src/backend/access/heap/heapam.c | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-)
