SqlServer 2012/2014新增Offset,Fetch Next分页方式
2017-06-08 00:00
483 查看
一、Offset Fetch Next的用法
sql2012的新分页方式 OFFSET/FETCH NEXT
语法:
1.越过1万条,去除50条
2.仅使用Offset 跳过
二、Offset Fetch next 的性能更好
1.使用Row_number() 方式分页
假装有个表Shop,其中有一列ShopName,取100000到100050条数据。
2.使用 Offset Fetch方式
先是ROW_NUMBER
![](https://static.oschina.net/uploads/space/2017/0608/165333_l1FV_2332115.png)
再是 OFFSET FETCH
![](https://static.oschina.net/uploads/space/2017/0608/165317_S8Ci_2332115.png)
高下立判,后者既高效又好写易懂有木有!
回顾SqlServer中分页方式的变化:
SqlServer2000时候使用top 的方式
SqlServer2005的时候开始使用Row_Number()
SqlServer2012的时候出现Offset Fetch Next。
更多:
SqlServer update set from的用法整理
SqlServer默认值
SqlServer unique唯一约束
sql2012的新分页方式 OFFSET/FETCH NEXT
语法:
OFFSET=偏移,跳过 rows FETCH = 取 rows only
1.越过1万条,去除50条
SELECT ShopName from Shop ORDER BY ShopName OFFSET 100000 ROW FETCH NEXT 50 ROW ONLY
2.仅使用Offset 跳过
SELECT ShopName from Shop ORDER BY ShopName OFFSET 100000 ROW
二、Offset Fetch next 的性能更好
1.使用Row_number() 方式分页
假装有个表Shop,其中有一列ShopName,取100000到100050条数据。
SELECT * FROM ( SELECT ShopName , ROW_NUMBER() OVER(ORDER BY ShopName) as R FROM Shop ) t WHERE R>100000 AND R<=100050
2.使用 Offset Fetch方式
SELECT ShopName from Shop ORDER BY ShopName OFFSET 100000 ROW FETCH NEXT 50 ROW ONLY
比较:
之所以取十万条以后的数据,能明显看出执行时间上的差异。虽然前人们已经给出过很多论证,我这里还是贴一下比较结果。先是ROW_NUMBER
![](https://static.oschina.net/uploads/space/2017/0608/165333_l1FV_2332115.png)
再是 OFFSET FETCH
![](https://static.oschina.net/uploads/space/2017/0608/165317_S8Ci_2332115.png)
高下立判,后者既高效又好写易懂有木有!
回顾SqlServer中分页方式的变化:
SqlServer2000时候使用top 的方式
SqlServer2005的时候开始使用Row_Number()
SqlServer2012的时候出现Offset Fetch Next。
更多:
SqlServer update set from的用法整理
SqlServer默认值
SqlServer unique唯一约束
相关文章推荐
- SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法
- mssql2012以后新增的offset分页,看起来爽死了!!!
- mssql2012以后新增的offset分页,看起来爽死了!!!
- SqlServer 2012 OFFSET 和 FETCH 子句实现分页
- 四种方式实现SQLServer 分页查询
- SQL SERVER2012新分页方式 OFFSET
- Sql Server 2012 分页方法分析(offset and fetch)
- Sql Server 2012 分页方法分析(offset and fetch)
- sqlserver 三种分页方式性能比较[图文]
- 关于SQLSERVER的几种种分页方式(转载)
- 四种高效的SqlServer分页方式
- 四种方式实现SQLServer 分页查询
- SQLServer采用分页的方式查询数据
- [转]四种方式实现SQLServer 分页查询
- [读书心得]资料分页的优化,以SQL 2012的 OFFSET-FETCH为例
- SQL Server 2012 新的分页函数 OFFSET & FETCH NEXT
- 蛙蛙推荐:sqlserver三种分页方式性能比较
- 【自然框架】QuickPager分页控件,新增一种分页方式——伪URL分页(Postback版)
- SQL Server 2012 使用OFFSET FETCH轻松实现分页
- SqlServer分页方式