On Wed, Sep 10, 2008 at 1:39 PM, Zdenek Kotala <[EMAIL PROTECTED]>wrote:

> I has played with new hash index implementation and I tried following
> command:
>
> postgres=# select * from test where id between 1 and 5;
> Time: 9651,033 ms
> postgres=# explain select * from test where id between 1 and 5;
>                       QUERY PLAN
> ---------------------------------------------------------
>  Seq Scan on test  (cost=0.00..141681.00 rows=1 width=4)
>   Filter: ((id >= 1) AND (id <= 5))
> (2 rows)
>
>
> Hash index is created on id column. However when I use
>
> postgres=# explain select * from test where id in (1,2,3,4,5);
>                               QUERY PLAN
> -------------------------------------------------------------------------
>  Bitmap Heap Scan on test  (cost=22.24..332.53 rows=83 width=4)
>   Recheck Cond: (id = ANY ('{1,2,3,4,5}'::integer[]))
>   ->  Bitmap Index Scan on test_idx  (cost=0.00..22.22 rows=83 width=0)
>         Index Cond: (id = ANY ('{1,2,3,4,5}'::integer[]))
> (4 rows)
>
> Time: 1,352 ms
>
> 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 :)



>
>
>                Zdenek
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>

Reply via email to