Sql Server 常见的几种分页方式
⒈offset fetch next方式【SqlServer2012及以上版本支持】【推荐】
select * from T_User
order by id
offset 5 rows /*(页数-1) * 条数 */
fetch next 5 rows only /* 条数 */
⒉row_number() over()方式【SqlServer2005以上版本支持】
select * from
(select *,row_number() over(order by id) as orderId from T_User) as t
where t.orderId between 11 and 15
/* (页数-1)* 条数 + 1 */
/* 页数 * 条数 */
⒊top not in方式【适用于SqlServer2012以下版本】
select top 5 * from T_User
where id not in (select top 10 id from T_User) /* top 条数 */
/* top 条数 * 页数 */
⒋max(主键)方式【本质上还是top方式,适用于SqlServer2012以下版本】
select top 5 * from T_User where id>=
(select max(id) from (select top 6 id from T_User order by id asc) a)
order by id;
/*top 条数*/
/*top(页数-1)* 条数 + 1*/
分析:在数据量较大时
top not in方式:查询靠前的数据速度较快
ROW_NUMBER() OVER()方式:查询靠后的数据速度比上一种较快
offset fetch next方式:速度稳定,优于前2种,但sql版本限制2012及以上才可使用
Sql Server 常见的几种分页方式的更多相关文章
- SQL Server 中的三种分页方式
USE tempdb GO SET NOCOUNT ON --创建表结构 IF OBJECT_ID(N'ClassB', N'U') IS NOT NULL DROP TABLE ClassB GO ...
- SQL Server中的三种Join方式
1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备.这两篇博客使用了相同的实验数据. 2.SQ ...
- SQL SERVER 2008 中三种分页方法与总结
建立表: CREATE TABLE [TestTable] ( , ) NOT NULL , ) COLLATE Chinese_PRC_CI_AS NULL , ) COLLATE Chinese_ ...
- .net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
便签记录Mysql,Sql server,Sqlite,Access四种数据库的简单连接方式 //using MySql.Data.MySqlClient; #region 执行简单SQL语句,使用M ...
- Asp.Net中的三种分页方式
Asp.Net中的三种分页方式 通常分页有3种方法,分别是asp.net自带的数据显示空间如GridView等自带的分页,第三方分页控件如aspnetpager,存储过程分页等. 第一种:使用Grid ...
- SQL SERVER常见等待——解决会话等待产生的系统问题
SQL SERVER——解决会话等待产生的系统问题 转自: https://blog.csdn.net/z_cloud_for_SQL/article/details/55051215 版权声明:SQ ...
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- SQL Server中数据库文件的存放方式,文件和文件组
原文地址:http://www.cnblogs.com/CareySon/archive/2011/12/26/2301597.html SQL Server中数据库文件的存放方式,文件和文件组 ...
- SQL Server 执行计划中的扫描方式举例说明
SQL Server 执行计划中的扫描方式举例说明 原文地址:http://www.cnblogs.com/zihunqingxin/p/3201155.html 1.执行计划使用方式 选中需要执行的 ...
随机推荐
- 灰度图像--图像分割 阈值处理之OTSU阈值
学习DIP第55天 转载请标明本文出处:***http://blog.csdn.net/tonyshengtan ***,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:http ...
- TensorFlow使用记录 (八): 梯度修剪 和 Max-Norm Regularization
梯度修剪 梯度修剪主要避免训练梯度爆炸的问题,一般来说使用了 Batch Normalization 就不必要使用梯度修剪了,但还是有必要理解下实现的 In TensorFlow, the optim ...
- 使用matplotlib绘制常用图表(2)-常用图标设置
一.使用subplots绘制子图 import numpy as np from matplotlib import pyplot as plt %matplotlib inline x = np.a ...
- R-ets()
前情需知 指数预测模型 指数模型是用来预测时序未来值的最常用模型.这类模型相对比较简单,但是实践证明它们的短期预测能力较好.不同指数模型建模时选用的因子可能不同.比如 单指数模型(simple/sin ...
- IDEA无法通过类加载器获取resources文件夹配置文件解决办法
问题描述:如果IDEA无法通过类加载器获取resources文件夹配置文件,一定是Classpath编译文件没有导致的. 1.在通过配置文件来获取文件信息时,在resouces文件中放入了filena ...
- (十一)C语言之选择结构
- 新版uni-app 在微信小工具调试遇到报错解决方案
问题描述:我在运行到微信小程序是运行报错打不开微信小程序报错如下图 结局方案:将微信小程序安全设置开启如下图
- Laravel find in set排序
做项目遇到个需求,需要对结果集中的数据进行指定规则的顺序排列.例如,用户状态有四种: 0=>未激活:1=>正常:2=>禁用:3=>软删除 现在的需求是,我要按照:正常-> ...
- 源码分析系列1:HashMap源码分析(基于JDK1.8)
1.HashMap的底层实现图示 如上图所示: HashMap底层是由 数组+(链表)+(红黑树) 组成,每个存储在HashMap中的键值对都存放在一个Node节点之中,其中包含了Key-Value ...
- IDEA内存设置
之前,博主的idea一直运行正常,今天,开发了一个接口,因为接口在项目中另一个模块,之前从来没有启动过这个模块,由于调试接口将该模块也放到tomcat容器中,结果我的idea不停崩溃,于是查看idea ...