| 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 |