Re: Next Steps with Hash Indexes

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Simon Riggs <simon(dot)riggs(at)enterprisedb(dot)com>
Cc: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Sadhuprasad Patro <b(dot)sadhu(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Next Steps with Hash Indexes
Date: 2021-10-13 19:15:47
Message-ID: CAH2-Wz=xfxkcf+1nU7KfE9_-JTub40MHQFA8kZO7bu+PtXWESw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Oct 13, 2021 at 3:44 AM Simon Riggs
<simon(dot)riggs(at)enterprisedb(dot)com> wrote:
> > IMO it'd be nice to show some numbers to support the claims that storing
> > the extra hashes and/or 8B hashes is not worth it ...
>
> Using an 8-byte hash is possible, but only becomes effective when
> 4-byte hash collisions get hard to manage. 8-byte hash also makes the
> index 20% bigger, so it is not a good default.

Are you sure? I know that nbtree index tuples for a single-column int8
index are exactly the same size as those from a single column int4
index, due to alignment overhead at the tuple level. So my guess is
that hash index tuples (which use the same basic IndexTuple
representation) work in the same way.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2021-10-13 19:23:23 Re: Next Steps with Hash Indexes
Previous Message Andres Freund 2021-10-13 19:13:45 Re: prevent immature WAL streaming