写法:

假装有个表Shop,其中有一列ShopName,取100000到100050条数据。

ROW_NUMBER 的写法

SELECT * FROM
(SELECT ShopName , ROW_NUMBER() OVER(ORDER BY ShopName)  as R
FROM Shop) t
WHERE R>100000 AND R<=100050

OFFSET,FETCH 的写法

SELECT ShopName from Shop
ORDER BY ShopName
OFFSET 100000 ROW
FETCH NEXT 50 ROW ONLY

比较:

之所以取十万条以后的数据,能明显看出执行时间上的差异。虽然前人们已经给出过很多论证,我这里还是贴一下比较结果。

先是ROW_NUMBER

再是 OFFSET FETCH  

高下立判,后者高效、易懂、语法简洁有木有!

(但是听闻超过5000w条数据后,结果不好说,这个我还没试,手上的库一般到1000w就拆表了,有兴趣的可以试试哦,记得告诉我,咩哈哈哈)

私人小笔记:

OFFSET=偏移,跳过

FETCH = 取

另外OFFSET可以单独使用,如下,既跳过前十万条:

SELECT ShopName from Shop
ORDER BY ShopName
OFFSET 100000 ROW

题外话:

从 SQL SERVER 2000 那个大家还在写TOP的年代,到2005的ROW_NUMBER,再到2012的OFFSET  FETCH

转载于:https://www.cnblogs.com/WinHEC/p/9247835.html

SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法(转)相关推荐

  1. SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑

    原文:SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑 本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在 ...

  2. SQL Server 2012 OFFSET/FETCH NEXT分页示例

    原文:http://beyondrelational.com/modules/29/presentations/483/scripts/12983/sql-server-2012-server-sid ...

  3. Sql Server 2012 分页方法分析(offset and fetch)

    最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的.其中  offse ...

  4. SQL Server 2016/2014/2012/2008/2005/2000简体中文企业版下载地址

    为什么只提供企业版下载呢?因为不管你是学生还是工作研究人员,企业版都是功能最为齐全的一个版本,比如企业版都集成了SQL Server Management Studio管理界面(俗称企业管理器的可视化 ...

  5. 整合SQL Server 2012和2014

    (For now we are not going to discuss how this can be implemented with SQL Server 2008 or SQL Server ...

  6. Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题

    在EF中,使用linq进行分页是很方便的,假如我们有一个EMP表,结构如下: public class Emp{[Key]public Guid No { get; set; }public int ...

  7. 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

    需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...

  8. SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下载SQL Server 2000 下载...

    SQL Server 2016简体中文企业版 文件名:cn_sql_server_2016_enterprise 64位下载地址:ed2k://|file|cn_sql_server_2016_ent ...

  9. sql server 2012远程链接的方法及步骤

    首先说下什么是sql server:(以下是应用某度某科的内容) SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从 ...

最新文章

  1. 软件测试培训 高级测试/测试开发基本技能列表
  2. android webview 填充,从Android使用WebView自动填充表格
  3. [Node.js]Restful Api
  4. window7 ubuntu12.04 Opensuse13.04 三系统安装
  5. mysql实现树形_Mysql实现树形递归查询
  6. java mysql 操作类_Java 数据库简单操作类
  7. 4.3一个“简陋”的打字程序
  8. MongoDB学习之(二)java连接
  9. 李宏毅自然语言处理——BERT和它的家族
  10. 重装 IDEA 再也不怕了,一招搞定配置同步!
  11. zookeeper做分布式配置中心
  12. 利用R语言进行具有周期性的时间序列分析
  13. win7共享计算机的用户名和密码,win7文件共享访问需要输入用户名和密码如何解决...
  14. clr 80004005
  15. php sendmail 抄送,Python发送邮件各种姿势
  16. 数组排序 向大佬低头 时间算法
  17. 苹果维修堪比登天难:评级F,获得最低分2.75分
  18. D3DXCreateTextureFromFileEx创建纹理的悲催
  19. 【预测模型】基于DNN深度神经网络实现minist数据集预测matlab源码
  20. 【学习总结】企业信息化管理之数据管理发展与探索之路

热门文章

  1. ognl 表达式常用表达式语言
  2. linux开启防火墙挂载nfs
  3. MSSQL2005 手工盲注 总结
  4. 【STM32 .Net MF开发板学习-25】LED数码管显示
  5. jQuery 在 IE 上 clone checkbox 的問題。
  6. Docker-----仓库
  7. servlet 校验密码
  8. luogu 2051 中国象棋
  9. python 爬虫入门
  10. 【转载】cookie