Re: improve 'where not exists' query..

From: Noel Whelan <noel(dot)whelan(at)gmail(dot)com>
To: Bruno Wolff III <bruno(at)wolff(dot)to>, pgsql-general(at)postgresql(dot)org
Subject: Re: improve 'where not exists' query..
Date: 2005-10-26 17:58:26
Message-ID: 1eb3081c0510261058y52b46798h953f9de6ac4a5330@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I've done an explain analyze - nothing looks wrong to me. I'm thinking it's
not exactly an issue with the query itself; it's just an inefficient thing I
want to do (essentially, for each id in the one table, identify whether or
not one exists in the other table).
Current installation is 7.3.4; but I'll look into NOT IN in case that would
be an improvement. Thanks,
- Noel

On 10/26/05, Bruno Wolff III <bruno(at)wolff(dot)to> wrote:
>
> On Tue, Oct 25, 2005 at 15:46:52 -0500,
> Noel Whelan <noel(dot)whelan(at)gmail(dot)com> wrote:
> > I'm wondering if there's an ideal way to improve the efficiency of this
> > query:
> >
> > SELECT i.id <http://i.id> <http://i.id> FROM items i
> > WHERE (NOT (EXISTS (SELECT c.id <http://c.id> <http://c.id>
> > FROM contacts c WHERE (c.id <http://c.id> <http://c.id> = i.id<http://i.id><
> http://i.id>))));
> >
> > It takes a while to execute, clearly. Thank you,
>
> On recent versions of postgres, NOT IN is potentially faster.
>
> Have you looked at EXPLAIN ANALYZE output to see if anything looks amiss?
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Larry Rosenman 2005-10-26 18:09:04 Re: querying PostgreSQL version?
Previous Message Bruno Wolff III 2005-10-26 17:54:58 Re: improve 'where not exists' query..