Re: Problem with indexes, LIMIT, ORDER BY ... DESC

From: Ken Williams <ken(at)mathforum(dot)org>
To: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Problem with indexes, LIMIT, ORDER BY ... DESC
Date: 2002-06-08 06:45:41
Message-ID: 59A3737C-7AAB-11D6-AEE4-0003936C1626@mathforum.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Saturday, June 8, 2002, at 02:41 AM, Stephan Szabo wrote:

> On Fri, 7 Jun 2002, Ken Williams wrote:
>
>> ========================================================================
>> ==
>> =
>> announce=# explain select date from foo where date < '06/08/2001
>> 23:59' and code = 'FOO' order by code, date DESC limit 1;
>> NOTICE: QUERY PLAN:
>>
>> Limit (cost=24397.98..24397.98 rows=1 width=20)
>> -> Sort (cost=24397.98..24397.98 rows=6355 width=20)
>> -> Index Scan using foo_code_date on foo
>> (cost=0.00..23996.55 rows=6355 width=20)
>> ========================================================================
>> ==
>> =
>>
>> What can I do to improve this?
>
> I'd suggest trying: order by code DESC, date DESC.
> Otherwise the index order and sort order aren't exactly alike. In this
> case there's only one code value so we can see that it shouldn't matter
> but I doubt the optimizer knows that.

Aha! That was the problem - in my head I meant for the "DESC"
to apply to both "ORDER BY" fields, but I forgot that it only
applies one field at a time. So I can do this:

================================================================
announce=# explain select date from foo where date <
'2000-06-02' and code='FOO' order by code desc, date desc limit
1;
NOTICE: QUERY PLAN:

Limit (cost=0.00..3.90 rows=1 width=20)
-> Index Scan Backward using foo_code_date on trades
(cost=0.00..10373.82 rows=2663 width=20)
================================================================

Thanks!

-Ken

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Uros Gruber 2002-06-08 16:39:29 How to start without password
Previous Message Doug Fields 2002-06-08 04:28:18 Re: Non-linear Performance