pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruno Wolff III <bruno@wolff.to>
To: email lists <lists@darrenmackay.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: query not using index for descending records?
Date: Thu, 29 Jan 2004 07:18:47 -0600
Message-ID: <20040129131847.GE17068@wolff.to> (raw)
In-Reply-To: <035C9F7CE28601428BBB5B051C9F77F2017898@orion>
References: <035C9F7CE28601428BBB5B051C9F77F2017898@orion>

On Thu, Jan 29, 2004 at 22:18:08 +1000,
  email lists <lists@darrenmackay.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.



view thread (10+ messages)  latest in thread

Message-ID: <20040129131847.GE17068@wolff.to>
Permalink:  ../20040129131847.GE17068@wolff.to/
Also on:    postgresql.org/message-id/20040129131847.GE17068@wolff.to

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: bruno@wolff.to, lists@darrenmackay.com
  Subject: Re: query not using index for descending records?
  In-Reply-To: <20040129131847.GE17068@wolff.to>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox