> >SELECT t1.code, t1.id, t1.date_of_service
> > FROM tbl t1 INNER JOIN
> > (SELECT DISTINCT date_of_service
> > FROM tbl
> > WHERE xxx >= '29800' AND xxx <= '29909'
> > AND code = 'XX'
> > ) AS t2 ON (t1.date_of_service = t2.date_of_service)
> > WHERE t1.client_code = 'XX'
> > ORDER BY id, date_of_service;
> A question I have is is the "DISTINCT" really going to help or is it just
> going to throw another sort into the mix making it slower?
It's required if you expect the subquery to return multiple rows for each
date_of_service match. Of course, you can also put the DISTINCT in the main
query instead; it depends on how many results you expect the subquery to
Still, I'd suggest trying the EXISTS version first .... under most
circumstances, DISTINCT is pretty slow.
Aglio Database Solutions
In response to
pgsql-performance by date
|Next:||From: Josh Berkus||Date: 2003-09-18 17:50:34|
|Subject: Re: [PERFORM] How to force an Index ?|
|Previous:||From: Josh Berkus||Date: 2003-09-18 17:30:38|
|Subject: Re: Is there a reason _not_ to vacuum continuously?|