Re: how to make this database / query faster
От | brian |
---|---|
Тема | Re: how to make this database / query faster |
Дата | |
Msg-id | 47DC63F7.5030905@zijn-digital.com обсуждение исходный текст |
Ответ на | Re: how to make this database / query faster ("Richard Broersma" <richard.broersma@gmail.com>) |
Ответы |
Re: how to make this database / query faster
Re: how to make this database / query faster |
Список | pgsql-general |
Richard Broersma wrote: > On Sat, Mar 15, 2008 at 4:41 PM, mark <markkicks@gmail.com> wrote: > >> On Sat, Mar 15, 2008 at 4:37 PM, Richard Broersma < >> richard.broersma@gmail.com> wrote: >> >>> On Sat, Mar 15, 2008 at 4:21 PM, mark <markkicks@gmail.com> 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.
В списке pgsql-general по дате отправления: