From: | "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com> |
---|---|
To: | Theo Kramer <theo(at)flame(dot)co(dot)za> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Indexes with descending date columns |
Date: | 2006-03-31 15:55:54 |
Message-ID: | 20060331155554.GO49405@pervasive.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Wed, Mar 29, 2006 at 12:52:31PM +0200, Theo Kramer wrote:
> On Fri, 2006-03-24 at 12:21, Jim C. Nasby wrote:
> > On Thu, Mar 23, 2006 at 01:09:49PM +0200, Theo Kramer wrote:
> > > ii If no to i, is it feasible to extend PostgreSQL to allow traversing
> > > an index in column descending and column ascending order - assuming
> > > an order by on more than one column with column order not
> > > in the same direction and indexes existing? ... if that makes sense.
> >
> > Yes.
> >
> > stats=# explain select * from email_contrib order by project_id desc, id desc, date desc limit 10;
> > QUERY PLAN
> > ------------------------------------------------------------------------------------------------------------------------
> > Limit (cost=0.00..31.76 rows=10 width=24)
> > -> Index Scan Backward using email_contrib_pkey on email_contrib (cost=0.00..427716532.18 rows=134656656 width=24)
> > (2 rows)
>
> Not quite what I mean - redo the above as follows and then see what
> explain returns
>
> explain select * from email_contrib order by project_id, id, date desc
> limit 10;
Ahh. There's a hack to do that by defining a new opclass that reverses <
and >, and then doing ORDER BY project_id, id, date USING new_opclass.
I think there's a TODO about this, but I'm not sure...
--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
From | Date | Subject | |
---|---|---|---|
Next Message | Jim C. Nasby | 2006-03-31 15:59:12 | Re: Query using SeqScan instead of IndexScan |
Previous Message | Jim C. Nasby | 2006-03-31 15:47:53 | Re: simple join uses indexes, very slow |