在查询数据的时候或者展示数据的时候经常会使用分页,介绍几种简单的分页算法: //总的页数 int total = 30: //每页个数 int pageSize = 6; 1.one int pageSum = (total-1)/pageSize + 1; 2.two int pageSum = total%pageSize == 0 ? total / pageSize : total / pageSize + 1; 3.three int pageSum = (total+pag
PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇"Efficient Pagination Using MySQL"的报告,有很多亮点,本文是在原文基础上的进一步延伸. 首先看一下分页的基本原理: mysql> explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20\G***************** 1. row **************id: 1
SQL Server 2005引入的新方法. SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY keyField DESC) AS rowNum, * FROM tableName) AS t WHERE rowNum > start[比如:90] AND rowNum <= end[比如:100]=>[返回91-100] )*(PAGESIZE)[比如:90] =>[返回91-100] 其中:keyField为表tableName的
public class CalculationPage { private Boolean showStartPagerDot; private Boolean showEndPagerDot; private int pageIndex; private int pageSise; private int totalPages; private int dataTotal; private List<Long> pageNumbers; private int prevPage; priv
select top pageSize * from goods where goodsId not in (select top pageSize*(pageNow-1) goodsId from goods); MySQL不支持top关键字,其替代方案为使用limit关键字,其使用形式为:limit a, b(a是起始索引位置,b是要查询的记录条数).比如:有1.2.3.4.5五条记录数据,想要查处2.3.4条,使用limit 1, 3就行了.注意:索引是从0开始的. 所以上述使用top的S