Re: [SQL] Subselect performance - Mailing list pgsql-sql

From Daniel Lopez
Subject Re: [SQL] Subselect performance
Date
Msg-id 199909212254.AAA13731@atm9.com.dtu.dk
Whole thread Raw
In response to Re: [SQL] Subselect performance  (Bruce Momjian <maillist@candle.pha.pa.us>)
Responses Re: [SQL] Subselect performance  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-sql
> It is not your fault.  We frequently get reports of this type, and the
> behavior of the subquery is very non-intuitive.  You would think that a
> subquery and a join would have the same performance, but because of the
> limitation of subqueries as being nested loop joined, this is not the
> case, and subqueries are slower.  We tell people to rewrite their query
> as EXISTS, but by the time we tell them that, they have already spent
> much time trying to figure out why the query is so slow, and I am sure
> many people don't even know about the EXISTS workaround.

You are right: I spend some time scratching my head, then some time
searching the mailing lists and I finally made the query with a EXISTS,
which works great for  me :) Thanks
Can this be a candidate to include in the FAQ? 

On the same idea, is there any good document out there with all the SQL
"recipes" or common practice for things like : "Give me all the rows which
have this value in this column more than once, etc"
I do it with: 
select my_index, count(my_index) from my_table  group by my_index having
count(my_index) > 1;

But this is a common query and would be interested in knowing which is the
commonly accepted way of doing this

Regards

Daniel


pgsql-sql by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [SQL] Re:Create table doesn't always respect atomicity of transactions
Next
From: Daniel Lopez
Date:
Subject: Book on SQL