| From: | "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> | 
|---|---|
| To: | <kclau60(at)netvigator(dot)com>, <pgsql-performance(at)postgresql(dot)org> | 
| Subject: | Re: SELECT LIMIT 1 VIEW Performance Issue | 
| Date: | 2005-09-22 18:19:56 | 
| Message-ID: | s332af83.045@gwmta.wicourts.gov | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-performance | 
Have you tried the "best choice" pattern -- where you select the set of
candidate rows and then exclude those for which a better choice
exists within the set?  I often get better results with this pattern than
with the alternatives.  Transmuting your query to use this patter gives:
 
select PlayerID,AtDate from Player a where PlayerID='22220'
  and not exists
    (select * from Player b
      where b.PlayerID = a.PlayerID and b.AtDate > a.AtDate);
 
>>> K C Lau <kclau60(at)netvigator(dot)com> 09/21/05 11:21 PM >>>
select PlayerID,AtDate from Player a
  where PlayerID='22220' and AtDate = (select b.AtDate from Player b
  where b.PlayerID = a.PlayerID order by b.PlayerID desc, b.AtDate desc 
LIMIT 1);
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Gurpreet Aulakh | 2005-09-22 18:54:11 | Re: Query slower on 8.0.3 (Windows) vs 7.3 (cygwin) | 
| Previous Message | Merlin Moncure | 2005-09-22 18:07:38 | Re: SELECT LIMIT 1 VIEW Performance Issue |