hash: Implement page-at-a-time scan.
authorRobert Haas <rhaas@postgresql.org>
Fri, 22 Sep 2017 17:26:25 +0000 (13:26 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 22 Sep 2017 17:56:27 +0000 (13:56 -0400)
commit7c75ef571579a3ad7a1d3ee909f11dba5e0b9440
tree4e8f45e95db7f7168d0f0ee0202da0093538d88a
parent0f574a7afb5c998d19dc3d981e45cb10267286ed
hash: Implement page-at-a-time scan.

Commit 09cb5c0e7d6fbc9dee26dc429e4fc0f2a88e5272 added a similar
optimization to btree back in 2006, but nobody bothered to implement
the same thing for hash indexes, probably because they weren't
WAL-logged and had lots of other performance problems as well.  As
with the corresponding btree case, this eliminates the problem of
potentially needing to refind our position within the page, and cuts
down on pin/unpin traffic as well.

Ashutosh Sharma, reviewed by Alexander Korotkov, Jesper Pedersen,
Amit Kapila, and me.  Some final edits to comments and README by
me.

Discussion: http://postgr.es/m/CAE9k0Pm3KTx93K8_5j6VMzG4h5F+SyknxUwXrN-zqSZ9X8ZS3w@mail.gmail.com
src/backend/access/hash/README
src/backend/access/hash/hash.c
src/backend/access/hash/hashpage.c
src/backend/access/hash/hashsearch.c
src/backend/access/hash/hashutil.c
src/include/access/hash.h