query to do a backward 'skip', possible with (index) optimization ? - Mailing list pgsql-sql

From Albert Loo
Subject query to do a backward 'skip', possible with (index) optimization ?
Date
Msg-id 20000110131539.77866.qmail@hotmail.com
Whole thread Raw
Responses Re: [SQL] query to do a backward 'skip', possible with (index) optimization ?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
hi,

Coming from xbase background and having just started on sql, I tried sql 
queries that does xbase 'skip'. I wanted to implement record browsing with 
'Next' and 'Previous' features. Currently, I'm testing this with a table of 
about 20,000 rows using psql.

I'm able to perform 'forward skip' query with :

=> select * from mytable where id > '12345' order by id limit 1;

- which returned what I wanted, 1 record with id value '12346'. Indexing on 
id further optimised the query.

However, I'm unable to optimise query when doing a 'backward skip'. I've 
tried :

=> select * from mytable where id < '12345' order by id desc limit 1;

- which returned the correct result '12344', but without optimization.

I was hoping a descending order index key would optimise it, but I think 
postgresql don't support it (yet ?).

Next, I tried using offset -1...which is not possible either :)

=> select * from mytable where id > '12345' order by id limit 1 offset -1;
ERROR:  parser: parse error at or near "-"

Has anyone tried 'backward skip' with optimization ?

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com



pgsql-sql by date:

Previous
From: admin
Date:
Subject: can't seem to use index
Next
From: Tom Lane
Date:
Subject: Re: [SQL] query to do a backward 'skip', possible with (index) optimization ?