Richard Broersma wrote:
On Sat, Mar 15, 2008 at 4:41 PM, mark <[EMAIL PROTECTED]> wrote:

On Sat, Mar 15, 2008 at 4:37 PM, Richard Broersma <
[EMAIL PROTECTED]> wrote:

 On Sat, Mar 15, 2008 at 4:21 PM, mark <[EMAIL PROTECTED]> wrote:


select * from users where session_key is not Null order by id offset
OFFSET limit 300

 One solution is to retain the last ID from the previous scan:
SELECT *
  FROM Users
 WHERE session_key IS NOT NULL
    AND id > your_last_id
  LIMIT 300;

will this ensure that no row is repeated when i itereate over the table?
what are the rows ordered by?
thanks


Ya, sorry I forgot to include the order by.

 SELECT *
  FROM Users
 WHERE session_key IS NOT NULL
    AND id > your_last_id
 ORDER BY id
  LIMIT 300;

Yes there will not be any repeated rows sence you are using a order set
that who's ID are greated than the last set.


As there's an index on id would it be faster to transpose the WHERE conditions?

WHERE id > your_last_id
AND session_key IS NOT NULL

I can't remember if the order of WHERE is significant.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to