From: | David Rowley <drowley(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Speedup hash index builds by skipping needless binary searches |
Date: | 2022-11-24 04:22:44 |
Message-ID: | E1oy3l5-000aFU-GX@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Speedup hash index builds by skipping needless binary searches
When building hash indexes using the spool method, tuples are added to the
index page in hashkey order. Because of this, we can safely skip
performing the binary search on the existing tuples on the page to find
the location to insert the tuple based on its hashkey value. For this
case, we can just always put the tuple at the end of the item array as the
tuples will always arrive in hashkey order.
Testing has shown that this can improve hash index build speeds by 5-15%
with a unique set of integer values.
Author: Simon Riggs
Reviewed-by: David Rowley
Tested-by: David Zhang, Tomas Vondra
Discussion: https://postgr.es/m/CANbhV-GBc5JoG0AneUGPZZW3o4OK5LjBGeKe_icpC3R1McrZWQ@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/d09dbeb9bde6b9faabd30e887eff4493331d6424
Modified Files
--------------
src/backend/access/hash/hash.c | 4 ++--
src/backend/access/hash/hashinsert.c | 41 +++++++++++++++++++++++++++++-------
src/backend/access/hash/hashsort.c | 3 ++-
src/include/access/hash.h | 6 ++++--
4 files changed, 41 insertions(+), 13 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2022-11-24 04:52:21 | pgsql: Add support for file inclusions in HBA and ident configuration f |
Previous Message | Michael Paquier | 2022-11-24 01:28:23 | pgsql: Create memory context for tokenization after opening top-level f |