Re: What is wrong with hashed index usage? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: What is wrong with hashed index usage?
Date
Msg-id 200206211332.g5LDWJY10224@candle.pha.pa.us
Whole thread Raw
In response to Re: What is wrong with hashed index usage?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: What is wrong with hashed index usage?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> >       <para>
> > !      Because of the limited utility of hash indexes, a B-tree index
> > !      should generally be preferred over a hash index.  We do not have
> > !      sufficient evidence that hash indexes are actually faster than
> > !      B-trees even for <literal>=</literal> comparisons.  Moreover,
> > !      hash indexes require coarser locks; see <xref
> > !      linkend="locking-indexes">.
> >       </para>
> >      </note>  
> >     </para>
> > --- 181,189 ----
> >   </synopsis>
> >      <note>
> >       <para>
> > !      Testing has shown that hash indexes are slower than btree indexes,
> > !      and the size and build time for hash indexes is much worse. For
> > !      these reasons, hash index use is discouraged.
> 
> This change strikes me as a step backwards.  The existing wording tells
> the truth; the proposed revision removes the facts in favor of a blanket
> assertion that is demonstrably false.

OK, which part of is "demonstrably false"?  I think the old "should
generally be preferred" is too vague.  No one has come up with a case
where hash has shown to be faster, and a lot of cases where it is slower.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: What is wrong with hashed index usage?
Next
From: Thomas Lockhart
Date:
Subject: Re: ADTs and embedded sql