>A better way that is very similar is to use WHERE and LIMIT instead.I know 
>that but as I just replied to this thread, if I do that I will then have to 
>record each columns I use for each table I want scroll cursor. So from the 
>implementation point of view, using LIMIT & OFFSET is easier.

Qiulang





At 2016-03-03 10:42:37, "Darren Duncan" <darren at darrenduncan.net> wrote:
>On 2016-03-02 5:02 AM, ?? wrote:
>> Here... said "Do not try to implement a scrolling window using LIMIT and 
>> OFFSET. Doing so will become sluggish as the user scrolls down toward the 
>> bottom of the list.?. But the page also said "This information is obsolete?
>> ... talks about LIMIT & OFFSET, without mentioning that is a bad idea. So my 
>> question is can I do that or not (will it become sluggish if I do that) ?
>
>Using LIMIT and OFFSET is generally a bad idea, not just on performance but 
>also 
>logically.
>
>A better way that is very similar is to use WHERE and LIMIT instead.
>
>Assuming that you are going through pages consecutively, you know what rows 
>you've already seen, particularly in the prior page.
>
>Whatever columns you are sorting your result by, take the last row just seen 
>and 
>the query for the next page is found by saying WHERE > or < etc the field 
>values 
>for that last row.
>
>So you're sure to get the rows just after the ones you just saw, and later 
>pages 
>shouldn't be any slower than earlier ones.
>
>This approach is also resilient to arbitrary changes to the database between 
>page views so you don't either repeat rows or skip rows due to offset mismatch.
>
>-- Darren Duncan
>
>
>_______________________________________________
>sqlite-users mailing list
>sqlite-users at mailinglists.sqlite.org
>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to