Re: Index Problem - Mailing list pgsql-sql

From Tom Lane
Subject Re: Index Problem
Date
Msg-id 17660.981699774@sss.pgh.pa.us
Whole thread Raw
In response to Index Problem  ("Kim Yunhan" <spbear@hanmail.net>)
List pgsql-sql
"Kim Yunhan" <spbear@hanmail.net> writes:
> I want to query this...
> --> SELECT * FROM bbs ORDER BY ref desc, step ASC LIMIT 12; 

> this query doesn't refer the index that made by this query.
> --> CREATE INDEX idx_bbs ON bbs (ref, step);

Well, no.  The ordering the query is asking for has nothing to do with
the ordering of the index, so the index is no help.

The simplest answer would be to restructure your data so that the order
you are interested in corresponds to the natural index order.  If you
don't like that answer, you could consider making a "reverse" operator
class that sorts the datatype of "ref" in reverse order, and then
building an index on (ref reverse_ops, step).  I think the planner would
be smart enough to realize that it could use such an index for your
query ... but it's a sufficiently off-the-wall case that I doubt
anyone's ever tried it.  Lemme know if it works ;-)
        regards, tom lane


pgsql-sql by date:

Previous
From: "Kim Yunhan"
Date:
Subject: Index Problem
Next
From: "Kim Yunhan"
Date:
Subject: Index Problem