Re: why hash on the primary key?

From: "Robert Haas" <robertmhaas(at)gmail(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: why hash on the primary key?
Date: 2008-11-29 13:31:48
Message-ID: 603c8f070811290531q73e45615u567ffd7ddf79f310@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> What's strange about it? A probe into an in-memory hashtable is a lot
> cheaper than a probe into an index, so this type of plan makes plenty
> of sense if the hashtable will fit in RAM and there are going to be a
> lot of probes. (Where "a lot" means "enough to amortize the cost of
> building the hashtable", of course.)

Hmm... it didn't occur to me that the index probe itself might be
more expensive than a hash probe. Is that due to concurrency control,
or are you talking about the need to possibly read index pages in from
disk?

>> Experimentation shows this is actually about 25% faster.
>
> Well, that just says your cost parameters need a bit of adjustment
> if you'd like the planner to get the crossover point exactly right.

Any sense of which ones might be worth fiddling with?

...Robert

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-11-29 15:43:05 Re: why hash on the primary key?
Previous Message Robert Haas 2008-11-29 13:29:18 Re: why hash on the primary key?