On Sat, Mar 15, 2008 at 5:04 PM, brian <[EMAIL PROTECTED]> wrote: > 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.
brian, i have an index on session_key also but i dont have a session key combined on both. should i do that?