Improve speed of hash index build.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 28 Jul 2022 18:34:32 +0000 (14:34 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 28 Jul 2022 18:34:32 +0000 (14:34 -0400)
commite09d7a1262c659578065eaf7edafe606d2c8ebf2
treea20bedfb3536af659716e32d756a9103954ab732
parent70a437aa45b6dcacc2ad894f95ef5bb46b26035f
Improve speed of hash index build.

In the initial data sort, if the bucket numbers are the same then
next sort on the hash value.  Because index pages are kept in
hash value order, this gains a little speed by allowing the
eventual tuple insertions to be done sequentially, avoiding repeated
data movement within PageAddItem.  This seems to be good for overall
speedup of 5%-9%, depending on the incoming data.

Simon Riggs, reviewed by Amit Kapila

Discussion: https://postgr.es/m/CANbhV-FG-1ZNMBuwhUF7AxxJz3u5137dYL-o6hchK1V_dMw86g@mail.gmail.com
src/backend/access/hash/hashsort.c
src/backend/utils/sort/tuplesortvariants.c