标签:
1. ROW_NUMBER() 的分页方法
DECLARE @currentPage INT =2,@pageSize INT =5;
WITH cte AS(
SELECT ROW_NUMBER() OVER(ORDER BY OrderId desc) rowid,* FROM dbo.EC_Orders)
SELECT * FROM cte WHERE rowid > (@currentPage-1)*@pageSize AND rowid<= @currentPage*@pageSize
2. Offset and Fetch 的分页方法
DECLARE @currentPage INT =2,@pageSize INT =5;
SELECT * FROM dbo.EC_Orders ORDER BY OrderId DESC OFFSET (@currentPage-1)*@pageSize ROW FETCH NEXT @pageSize ROWS ONLY
综合性能比较:
在 Sql Server 2012 里面,分页方法中,Offset and Fetch 同 ROW_NUMBER() 比较起来,无论是性能还是语法,都是有优势的。
标签:
原文地址:http://www.cnblogs.com/kaikaichao/p/5610586.html