Re: quickly getting the top N rows - Mailing list pgsql-performance

From Tom Lane
Subject Re: quickly getting the top N rows
Date
Msg-id 21101.1191531893@sss.pgh.pa.us
Whole thread Raw
In response to Re: quickly getting the top N rows  (Ben <bench@silentmedia.com>)
Responses Re: quickly getting the top N rows
List pgsql-performance
Ben <bench@silentmedia.com> writes:
> On Thu, 4 Oct 2007, Simon Riggs wrote:
> I thought that might explain it, but then I'm surprised that it can still
> use an index when the first two columns of the index aren't in the query.
> Wouldn't that mean that it might have to walk the entire index to find
> matching rows?

> ....unless it's smart enough to realize that the first two columns will
> match everything. Which would be cool.

There's some limited smarts in there about deciding that leading columns
of an index don't matter to the sort ordering if they're constrained to
just one value by the query.  But it doesn't catch the case you need,
which is that columns of an ORDER BY request are no-ops when they're
constrained to just one value.

That whole area has been rewritten for 8.3 and I believe it will handle
this case.  No time to try it right now though.

            regards, tom lane

pgsql-performance by date:

Previous
From: Richard Huxton
Date:
Subject: Re: quickly getting the top N rows
Next
From: Henrik
Date:
Subject: Re: Query taking too long. Problem reading explain output.