pgsql: bloom: Optimize VACUUM and bulk-deletion with streaming read - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: bloom: Optimize VACUUM and bulk-deletion with streaming read
Date
Msg-id E1w0WmH-003Ymz-22@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
bloom: Optimize VACUUM and bulk-deletion with streaming read

This commit replaces the synchronous ReadBufferExtended() loops done in
blbulkdelete() and blvacuumcleanup() with the streaming read equivalent,
to improve I/O efficiency during bloom index vacuum cleanup operations.

Under the same test conditions as 6c228755add8, the runtime is proving
to gain around 30% better, with most the benefits coming from a large
reduction of the IO operation based on the stats retrieved in the
scenarios run.

Author: Xuneng Zhou <xunengzhou@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/CABPTF7VrqfbcDXqGrdLQ2xaQ=K0RzExNuw6U_GGqzSJu32wfdQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d841ca2d149666b823525e7f5258efd9ef9d7fb1

Modified Files
--------------
contrib/bloom/blvacuum.c | 55 ++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 51 insertions(+), 4 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Use streaming read for VACUUM cleanup of GIN
Next
From: Michael Paquier
Date:
Subject: pgsql: doc: Document variables for path substitution in SQL tests