pgsql: hash: Implement page-at-a-time scan.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: hash: Implement page-at-a-time scan.
Date: 2017-09-22 17:59:40
Message-ID: E1dvSEm-0004Y3-LB@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7c75ef571579a3ad7a1d3ee909f11dba5e0b9440

Modified Files
--------------
src/backend/access/hash/README | 79 +++--
src/backend/access/hash/hash.c | 165 ++--------
src/backend/access/hash/hashpage.c | 10 +-
src/backend/access/hash/hashsearch.c | 569 ++++++++++++++++++++++-------------
src/backend/access/hash/hashutil.c | 67 ++++-
src/include/access/hash.h | 70 ++++-
6 files changed, 562 insertions(+), 398 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2017-09-22 18:35:13 pgsql: For wal_consistency_checking, mask page checksum as well as page
Previous Message Andres Freund 2017-09-22 17:36:30 Re: pgsql: Accept that server might not be able to send error in crash reco