开发者

MySQL/ASP Paging Using Limit

Currently, I am using this recordset paging method: (this example has been cut down for this post)

Function getnext10(num)
        pageLen = len(num)
        if pageLen = 1 Then
        next10 = 10
        else if pageLen > 1 Then
        pageRem = 10
        pageTen = right(num, 1)
        next10 = num + pageRem - pageTen
        end if
        end if
        getnext10 = next10
End Function

Function getPrev10(num)
        pageLen = Len(num)
        If pageLen = 1 Then
        prev10 = 1
        ElseIf pageLen > 1 Then
        l开发者_运维技巧astNumber = Right(num,1)
        prev10 = num - lastNumber
        End If
        If prev10 = 0 Then
        prev10 = 1
        End If
        getPrev10 = prev10
End Function

Which uses a 'Do Until Loop' to get the correct group of results for that page.

I have been advised to drop this method and to start using LIMIT paging instead. I understand how to apply this to my project, I think, so I'm not looking for anybody's code, I just need an explanation as to why I need to start using it.

Apart from using less code in the LIMIT version, which will reduce my page size (mega slightly), why is using the LIMIT method better? Will it improve my search query performance?

Any further clarification on this subject will be gratefully received.


Yes, using LIMIT would improve the perfomance of your webpage. Right now you're fetching unnessesary records just to move onto right record while LIMIT would land you onto right record right away. Lets say you have to page 100 records, 10 records per page, and user request page 10 (last page). With the "Do Until Loop" solution you're fetching all 100 records but you discard 90 of them right away, without actually using them. So 90% of the resultset you didn't use for anything constructive! Using LIMIT you fetch only the records you going to use and thus you aren't wasting any resources.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜