Re: slow query - Mailing list pgsql-performance

From Josh Berkus
Subject Re: slow query
Date
Msg-id 200302231347.58960.josh@agliodbs.com
Whole thread Raw
In response to Re: slow query  (Ryan Bradetich <rbradetich@uswest.net>)
Responses Re: slow query  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
Ryan,

> > The above should use an EXISTS clause, not IN, unless you are absolutely
> > sure that the subquery will never return more than 12 rows.
>
> I am assuming you said this because EXISTS is faster for > 12 rows?
> Interesting :)

That's my rule of thumb, *NOT* any kind of relational-calculus-based truth.

Basically, one should only use IN for a subquery when one is *absolutely* sure
that the subquery will only return a handful of records, *and* the subquery
doesn't have to do an complex work like aggregating or custom function
evaluation.

You're safer using EXISTS for all subqueries, really.

--
Josh Berkus
Aglio Database Solutions
San Francisco

pgsql-performance by date:

Previous
From: Ryan Bradetich
Date:
Subject: Re: slow query
Next
From: Tom Lane
Date:
Subject: Re: slow query