Re: query not using index for descending records?

From: Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
To: Bruno Wolff III <bruno(at)wolff(dot)to>
Cc: email lists <lists(at)darrenmackay(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: query not using index for descending records?
Date: 2004-01-29 13:29:11
Message-ID: Pine.LNX.4.44.0401291525350.9854-100000@matrix.gatewaynet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

O kyrios Bruno Wolff III egrapse stis Jan 29, 2004 :

As i see there was a thread
http://archives.postgresql.org/pgsql-hackers/2003-05/msg00762.php
dealing with this issue, assuming the "correct" order by
should be "order by datetime ASC, id DESC".

Do you know of any progress for declaring the direction of each
column in a multicolumn index?

> On Thu, Jan 29, 2004 at 22:18:08 +1000,
> email lists <lists(at)darrenmackay(dot)com> wrote:
> > Limit (cost=0.00..2.31 rows=20 width=12)
> > -> Index Scan using idx_trafficlogs_datetime_id on trafficlogs
> > (cost=0.00..1057.89 rows=9172 width=12)
> > (2 rows)
> >
> > however, I am wanting to return the last 20 records. I have been using:
> >
> > explain select datetime,id from trafficlogs order by datetime,id desc
> > limit 20;
>
> You probably don't want to do that. The DESC only applies to the one
> expression it follows. What you want is probably:
> explain select datetime,id from trafficlogs order by datetime desc,id desc
> limit 20;
>
> The index won't get used because with id and datetime being checked in
> different orders, only the first part of the index is usable. And probably
> that wasn't selective enough for an index scan to be used.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>

--
-Achilleus

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message email 2004-01-29 13:36:01 Re:
Previous Message Bruno Wolff III 2004-01-29 13:18:47 Re: query not using index for descending records?