Re: using hash index when BETWEEN is specified

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: Hannu Krosing <hannu(at)2ndQuadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Asko Oja <ascoja(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: using hash index when BETWEEN is specified
Date: 2008-09-10 14:31:32
Message-ID: 48C7DA44.303@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hannu Krosing napsal(a):
> On Wed, 2008-09-10 at 07:13 -0400, Robert Haas wrote:
>>>> I'm not planner guru but it seems to me that BETWEEN clause could be
>>>> rewritten as a IN clause for integer data types and small interval.
>>> Where should the line be drawn.
>>> Define small :)
>> When the estimated cost is lower?
>
> You still need to draw a line for when to even try estimating the cost .
>
> Will this be interval of 10 ? or 100 ? or 10000 ?

I think it depends of ration of unique integer number in a table and
numbers of requested interval, number distribution and total number of rows.

For example if you have 10 distinct number and each has 100 occurrence
then full scan is better (for between 1 and 5). But if each number
occurs 100000x. Then using hash index should be effective.

Zdenek

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marko Kreen 2008-09-10 14:31:34 Re: Base64 decode/encode performance
Previous Message Markus Wanner 2008-09-10 14:13:02 Re: Synchronous Log Shipping Replication