1. ROW_NUMBER() 的分页方法
dbcc freeproccache
dbcc dropcleanbuffers
set statistics time on
set statistics io on
set statistics profile on;with #pager as
(
select ID,Title,ROW_NUMBER() OVER(Order By ID) as rowid from Article_Detail
)
select ID,Title from #pager where rowid between (15 * (50-1)+1) and 15 * 50set statistics profile off;

2. Offset and Fetch 的分页方法

--语法OFFSET { integer_constant | offset_row_count_expression } { ROW | ROWS }FETCH { FIRST | NEXT } { integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY

--代码示例dbcc freeproccache
dbcc dropcleanbuffers
set statistics time on
set statistics io on
set statistics profile on;select ID,Title from Article_Detail order by id OFFSET (15 * (50-1)) ROW FETCH NEXT 15 rows onlyset statistics profile off;

1.在 Sql Server 2012 里面,分页方法中,Offset and Fetch 同 ROW_NUMBER() 比较起来,无论是性能还是语法,都是有优势的。

2.但是性能方面,优势并不是太大,两者 的 IO 消耗完全相同,只是 在 CPU 方面,Offset and Fetch 方面要好一些,但是不明显。如果对于一个 每秒都要处理成千上万条的分页Sql语句的DB 来说,Offset and Fetch 在CPU 方面的优势会比较明显的,否则,性能的提升并不明显。

3.语法方面 Offset and Fetch 则是十分的简洁,一句搞定,比起 Row_Number() 好了太多 ~

  

转载于:https://www.cnblogs.com/renfushuai/p/5059093.html

新版数据库分页方法(Sql server2012)相关推荐

  1. java access 分页查询语句,爱不释手—几条常见的数据库分页之SQL语句代码

    我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即 ...

  2. 数据库保护(数据库备份)Sql Server2012 图形界面操作

    学习网址 :MOOC https://www.icourse163.org/spoc/learn/ZZULI-1207222804?tid=1450316458#/learn/content?type ...

  3. Oracle、SQL Server、MySQL分页方法

    测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 [sql] view plain copy   SELECT A.* FROM ( SEL ...

  4. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  5. oracle分页的方法,Oracle数据库分页的集中方法(三种方法)

    在 做项目中用到了分页,下面说一下oracle分页的方法; 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; ...

  6. 浅谈SQL Server数据库分页

    数据库分页是老生常谈的问题了.如果使用ORM框架,再使用LINQ的话,一个Skip和Take就可以搞定.但是有时由于限制,需要使用存储过程来实现.在SQLServer中使用存储过程实现分页的已经有很多 ...

  7. 数据库原理及应用教程(第4版|微课版)陈志泊-SQL Server2012综合练习

    1.创建数据库和数据表 (1)利用资源管理器,在D盘建立以自己的姓名为名称的文件夹,以便保存数据库 (2)登录并连接到SQL Server2012 (3)利用对象资源管理器建立名为Study的数据库文 ...

  8. SQL Server Management Studio连不上数据库设置方法

    一.什么是SQL Server Management Studio 其是一个集成环境,用于访问.配置.管理和开发SQL Server 的所有组件.其组合了大量图形工具盒丰富的脚本编辑器,使各种技术水平 ...

  9. 优化数据库的方法及SQL语句优化的原则

    优化数据库的方法: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert,可惜 ...

最新文章

  1. Mysql函数:Last_insert_id()语法讲解
  2. 查找所有的(字符相同但顺序不同) Find All Anagrams in a String
  3. Python连接MYSQL,并做查询操作
  4. 添加一列_Joom平台CSV文件如何添加产品?CSV文件添加产品流程一览
  5. spark DAGScheduler、TaskSchedule、Executor执行task源码分析
  6. [Luogu 3835]【模板】可持久化平衡树
  7. 转:matlab中print、fprintf、scanf、disp函数简要语法介绍
  8. OSPF实验:OSPF认证
  9. r语言熵权法求权重(真实案例完整流程)
  10. windows清理C盘
  11. python locale.setlocale_语言环境.setlocale(LC_NUMERIC):如何使其在Windows上运行
  12. 在照片上添加水印怎么弄?三个简单方法分享给你
  13. ArcGIS中添加在线地图(影像图、街道图、天地图等)无需插件
  14. 为一个理想而奋斗一生
  15. 华为鸿蒙系统老手机能用吗_华为使用自家“鸿蒙”系统,旧手机的安卓系统可以更新成那个系统吗?...
  16. 笔记—学习【立创】如何使用示波器—测量一个波形
  17. 祛眼袋术前注意细节有哪些
  18. 闲置资源组建NAS存储服务器
  19. linux如何查看当前用户以及修改用户角色权限
  20. Contract Coin (C-coin)4月12日全球正式上线

热门文章

  1. 耗时3天,上亿数据如何做到秒级查询?
  2. 百度 71 个炸天的开源项目!你知道几个?
  3. NLP经典算法复现!CRF原理及实现代码
  4. 北大元培系AI公司,一年狂揽三轮融资,最新A轮斩获数千万美元
  5. 人工智能高薪的背后……
  6. 字节跳动内部 MySQL 学习笔记火了,完整版开放下载!
  7. MIT霸气护学生:你换导师,我替你买单!
  8. 逼学生作弊的AI阅卷老师
  9. 原来被原子弹炸到是这种感觉!也太刺激了吧!
  10. selenium提取数据之driver对象的常用属性和方法