排序的列不是唯一值的时候如何分页获取?
数据库是SQL Server2000
当排序值是唯一值,就是按照顺序递增的时候比较好办
例如,按照datetime排序
|
上面这种算法是先获取前一页的最小值,然后获取比最小值还小的所有数据,然后获取前n个,就是当前页的数据;
这种算法要求排序值必须递增/递减
但是有些信息的排序值有可能相等,例如商品的价格;要按照商品价格排序就不能利用上面的算法了;
我现在是用最笨的办法;
|
上面这种算法是先获取前N页的所有数据,把前N-1也的数据排除掉
这种算法在数据量比较少的时候还可以用
但是当数据量非常大的时候,例如有100W条的时候,要获取最后一页,那么while要循环差不多100W次,这样肯定不行的!
请各位jdon的朋友指点一下,谢谢