From: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Hannu Krosing <hannu(at)skype(dot)net>, Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Order by optimisations? |
Date: | 2005-07-15 02:40:39 |
Message-ID: | 42D72227.5050607@familyhealth.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>>>Does it know that the input to the sort routine is already sorted and
>>>hence is a no-op?
>
>>Yes
>
> No, but in most cases this will use an index and hence will assume that
> the index is responsible for ordering.
OK, so what's going on here?
usa=> explain select * from users_myfoods_map where user_id=1 and
date='2003-11-03' order by date;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------
Sort (cost=4.84..4.85 rows=2 width=22)
Sort Key: date
-> Index Scan using users_myfoods_map_user_id_date_key on
users_myfoods_map (cost=0.00..4.83 rows=2 width=22)
Index Cond: ((user_id = 1) AND (date = '2003-11-03'::date))
(4 rows)
(That's on our enormous live table)
Chris
From | Date | Subject | |
---|---|---|---|
Next Message | Christopher Kings-Lynne | 2005-07-15 02:43:22 | Re: Simplifying identification of temporary tables |
Previous Message | Christopher Kings-Lynne | 2005-07-15 02:39:37 | Re: Order by optimisations? |