Michael Lorenz <[EMAIL PROTECTED]> writes: > My query is as follows: > SELECT o.objectid, o.objectname, o.isactive, o.modificationtime > FROM object o > WHERE ( o.deleted = false OR o.deleted IS NULL ) > AND o.accountid = 111 > ORDER BY 2 > LIMIT 20 OFFSET 10000;
This is guaranteed to lose --- huge OFFSET values are never a good idea (hint: the database still has to fetch those rows it's skipping over). A saner way to do pagination is to remember the last key you displayed and do something like "WHERE key > $lastkey ORDER BY key LIMIT 20", which will allow the database to go directly to the desired rows, as long as you have an index on the key. You do need a unique ordering key for this to work, though. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly