昨天不知道用了多长时间在WebApi.dbo.MyTest这个表里导入了500W条数据,今天分别用两种分页方式对其效率进行了测试,下面是第一种分页方式。
1.分页代码
DECLARE @PageNumber INT,@PageSize INT
SET @PageNumber=12600
SET @PageSize=100
SELECT * FROM
(
SELECT
ROW_NUMBER()OVER(ORDER BY Age)Indexs
,*
FROM WebApi.dbo.MyTest
)Tab
WHERE Tab.Indexs BETWEEN ((@PageNumber-1)*@PageSize)+1 AND @PageNumber*@PageSize
1.耗时截图
2.分页代码
DBCC DROPCLEANBUFFERS--清除缓存
DECLARE @PageNumber INT,@PageSize INT
SET @PageNumber=12600
SET @PageSize=100
SELECT
ROW_NUMBER()OVER(ORDER BY Age)Indexs
,*
FROM WebApi.dbo.MyTest
ORDER BY Age
OFFSET @PageNumber*@PageSize ROW
FETCH NEXT @PageSize ROW ONLY;
2.耗时截图
虽然SqlServer2012新出分页写着比较简洁,但是现在测试的分页效率却没有第一种分页方式高,感觉有点不科学,如果有误,欢迎各路大神拍砖!
本文详细记录了使用SQL Server 2012进行数据分页时,两种不同方法的测试结果及耗时截图,旨在探讨其效率差异。

1364

被折叠的 条评论
为什么被折叠?



