Thread: pgsql: Delay commit status checks until freezing executes.
Delay commit status checks until freezing executes. pg_xact lookups are relatively expensive. Move the xmin/xmax commit status checks from the point that freeze plans are prepared to the point that they're actually executed. Otherwise we'll repeat many commit status checks whenever multiple successive VACUUM operations scan the same pages and decide against freezing each time, which is a waste of cycles. Oversight in commit 1de58df4, which added page-level freezing. Author: Peter Geoghegan <pg@bowt.ie> Discussion: https://postgr.es/m/CAH2-WzkZpe4K6qMfEt8H4qYJCKc2R7TPvKsBva7jc9w7iGXQSw@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/79d4bf4eff14d8967b10ad4c60039c1b9b0cf66e Modified Files -------------- src/backend/access/heap/heapam.c | 89 ++++++++++++++++++++++++++++------------ src/include/access/heapam.h | 9 ++++ 2 files changed, 71 insertions(+), 27 deletions(-)