比较了3种分页方式,分别是max方案,top方案,row方案
效率:
第1:row
第2:max
第3:top
缺点:
max:必须用户编写复杂sql,不支持非唯一列排序
top:必须用户编写复杂sql,不支持复合主键
row:不支持sqlServer2000
测试数据:
共320万条数据,每页显示10条数据,分别测试了2万页、15万页和32万页。
页码,top方案,max方案,row方案
2万,60ms,46ms,33ms
15万,453ms,343ms,310ms
32万,953ms,720ms,686ms
具体操作sql代码如下:
top方案:
- sql code
-
select top 10 * from Table1 where Id not in ( select top 开始的位置 Id from Table1)
max:
- sql code
-
select top 10 * from Table1 where Id > ( select max (Id) from ( select top 开始位置 Id from Table1order by Id)tt)
row:
- sql code
-
select * from ( select row_number() over ( order by tempColumn)tempRowNumber, * from ( select top 开始位置 + 10 tempColumn = 0 , * from Table1)t )tt where tempRowNumber > 开始位置
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。