query to do a backward 'skip', possible with (index) optimization ?

Поиск
Список
Период
Сортировка
От Albert Loo
Тема query to do a backward 'skip', possible with (index) optimization ?
Дата
Msg-id 20000110131539.77866.qmail@hotmail.com
обсуждение исходный текст
Ответы Re: [SQL] query to do a backward 'skip', possible with (index) optimization ?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: admin
Дата:
Сообщение: can't seem to use index
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [SQL] query to do a backward 'skip', possible with (index) optimization ?