Re: [PERFORM] "Hash index" vs. "b-tree index" (PostgreSQL - Mailing list pgsql-general

From Greg Stark
Subject Re: [PERFORM] "Hash index" vs. "b-tree index" (PostgreSQL
Date
Msg-id 87ll6mr5y8.fsf@stark.xeocode.com
Whole thread Raw
In response to Re: [PERFORM] "Hash index" vs. "b-tree index" (PostgreSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [PERFORM] "Hash index" vs. "b-tree index" (PostgreSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Tom Lane <tgl@sss.pgh.pa.us> writes:

> No, not at all, because searching such an index will require a tree
> descent, thus negating the one true advantage of hash indexes.

The hash index still has to do a tree descent, it just has a larger branching
factor than the btree index.

btree indexes could have a special case hack to optionally use a large
branching factor for the root node, effectively turning them into hash
indexes. That would be useful for cases where you know the values will be very
evenly distributed and won't need to scan ranges, ie, when you're indexing a
hash function.

--
greg

pgsql-general by date:

Previous
From: Peter Fein
Date:
Subject: Re: JOIN on set of rows?
Next
From: Mischa Sandberg
Date:
Subject: Re: [PERFORM] "Hash index" vs. "b-tree index" (PostgreSQL