SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法(转)
写法:
假装有个表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的用法(转)相关推荐
- SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑
原文:SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑 本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在 ...
- SQL Server 2012 OFFSET/FETCH NEXT分页示例
原文:http://beyondrelational.com/modules/29/presentations/483/scripts/12983/sql-server-2012-server-sid ...
- Sql Server 2012 分页方法分析(offset and fetch)
最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的.其中 offse ...
- SQL Server 2016/2014/2012/2008/2005/2000简体中文企业版下载地址
为什么只提供企业版下载呢?因为不管你是学生还是工作研究人员,企业版都是功能最为齐全的一个版本,比如企业版都集成了SQL Server Management Studio管理界面(俗称企业管理器的可视化 ...
- 整合SQL Server 2012和2014
(For now we are not going to discuss how this can be implemented with SQL Server 2008 or SQL Server ...
- Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题
在EF中,使用linq进行分页是很方便的,假如我们有一个EMP表,结构如下: public class Emp{[Key]public Guid No { get; set; }public int ...
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...
- 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 ...
- sql server 2012远程链接的方法及步骤
首先说下什么是sql server:(以下是应用某度某科的内容) SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从 ...
最新文章
- 软件测试培训 高级测试/测试开发基本技能列表
- android webview 填充,从Android使用WebView自动填充表格
- [Node.js]Restful Api
- window7 ubuntu12.04 Opensuse13.04 三系统安装
- mysql实现树形_Mysql实现树形递归查询
- java mysql 操作类_Java 数据库简单操作类
- 4.3一个“简陋”的打字程序
- MongoDB学习之(二)java连接
- 李宏毅自然语言处理——BERT和它的家族
- 重装 IDEA 再也不怕了,一招搞定配置同步!
- zookeeper做分布式配置中心
- 利用R语言进行具有周期性的时间序列分析
- win7共享计算机的用户名和密码,win7文件共享访问需要输入用户名和密码如何解决...
- clr 80004005
- php sendmail 抄送,Python发送邮件各种姿势
- 数组排序 向大佬低头 时间算法
- 苹果维修堪比登天难:评级F,获得最低分2.75分
- D3DXCreateTextureFromFileEx创建纹理的悲催
- 【预测模型】基于DNN深度神经网络实现minist数据集预测matlab源码
- 【学习总结】企业信息化管理之数据管理发展与探索之路