Re: [INTERFACES] Re: Index unused with OR? - Mailing list pgsql-interfaces

From Hannu Krosing
Subject Re: [INTERFACES] Re: Index unused with OR?
Date
Msg-id 355B094A.43F1DAAE@trust.ee
Whole thread Raw
In response to Index unused with OR?  ("Olaf Mittelstaedt" <mstaedt@va-sigi.va.fh-ulm.de>)
Responses Re: [INTERFACES] Re: Index unused with OR?  ("Olaf Mittelstaedt" <mstaedt@va-sigi.va.fh-ulm.de>)
List pgsql-interfaces
Olaf Mittelstaedt wrote:

This is probably the wrong list, but ...

> Actually, I discovered the problem using a table containg more than
> 8000 rows, using the latest release 6.3.2.
>
> > Not using the index in OR queries was some-time ago a bug in
> > PostgreSQL 6.1 if my memory is good. Think that has been solved in
> > new releases, am I wrong ?

seems _not_ to be fixed :(

> VACUUM
> w=> explain select * from p where m = 29000;
> NOTICE:  QUERY PLAN:
>
> Index Scan on p  (cost=0.00 size=0 width=10)
>
> EXPLAIN
> w=> explain select * from p where (m=29000) or (m=30000);
> NOTICE: QUERY PLAN:
>
> Seq Scan on p (cost=0.00 size=0 width=10)
>

As a work-around try

select * from p where (m=29000) union select * from p where (m=30000);

it should be much faster.

Btw, EXPLAIN thinks this to cost nothing ;)

Unique  (cost=0.00 size=0 width=0)
  ->  Sort  (cost=0.00 size=0 width=0)
        ->  Append  (cost=0.00 size=0 width=0)


Hannu

pgsql-interfaces by date:

Previous
From: Peter Mount
Date:
Subject: RE: [INTERFACES] JDBC-driver for postgresql
Next
From: "Olaf Mittelstaedt"
Date:
Subject: Re: [INTERFACES] Re: Index unused with OR?