sqlserver修改排序规则几种方法(SQL Server 分页编号的另一种方式推荐)
类别:数据库 浏览量:2695
时间:2021-10-27 10:10:57 sqlserver修改排序规则几种方法
SQL Server 分页编号的另一种方式推荐今天看书讲T-SQL,看到了UNBOUNDED PRECEDING,就想比对下ROW_NUMBER()的运行速度。
sql及相关的结果如下,数据库中的数据有5W+。
ROW_NUMBER(): SET STATISTICS TIME ON SELECT ROW_NUMBER() OVER(ORDER BY Id DESC) rn,Id FROM dbo.T_MyCourse
运行结果
UNBOUNDED PRECEDING SET STATISTICS TIME ON SELECT SUM(1) OVER(ORDER BY Id DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) rn,Id FROM dbo.T_MyCourse
运行结果
通过运行之后,看到结果,使用微软官方提供的方法进行编号排序,速度明显的提高。
不过我使用上述方法进行分页获取数据的时候结果又有点不一样。
分页获取数据:
ROW_NUMBER() 分页获取数据:
SET STATISTICS TIME ON SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY Id DESC) rn,Id FROM dbo.T_MyCourse )a WHERE a.rn BETWEEN 55 AND 444
执行sql命令:DBCC DROPCLEANBUFFERS ,清除数据库缓存后的结果
UNBOUNDED分页获取数据:
SET STATISTICS TIME ON SELECT * FROM ( SELECT SUM(1) OVER(ORDER BY Id DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) rn,Id FROM dbo.T_MyCourse )a WHERE a.rn BETWEEN 22 AND 444
UNBOUNDED这个方式下执行了DBCC DROPCLEANBUFFERS 清除缓存的sql也没有用,执行时间没有变化。
通过上述结果,看到ROW_NUMBER()获取分页的数据明显更快,我猜测是微软对ROW_NUMBER()这个方法做了优化,可能是有缓存,读取的缓存中的数据然后进行分页。
总结
以上所述是小编给大家介绍的SQL Server 分页编号的另一种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
您可能感兴趣
- sql server优化性能(SQLServer地址搜索性能优化)
- SQLServer中防止并发插入重复数据的方法详解(SQLServer中防止并发插入重复数据的方法详解)
- sqlserver2012如何安装如何使用(Sql server 2012 中文企业版安装图文教程附下载链接)
- sqlserver提供的内置函数(Sqlserver 自定义函数 Function使用介绍)
- sqlserver字段说明(详解SQL Server 中 JSON_MODIFY 的使用)
- sqlserver创建表结构时添加约束(SQL Server 通过with as方法查询树型结构)
- 完整版sqlserver2019卸载教程(Sql Server 2012完全卸载方法 只需8步轻松卸载)
- sqlserver维护计划保存在哪(SQL Server误设置max server memory的处理方法)
- sqlserver数据类型和长度(SqlServer 数据库 三大 范式)
- sqlserver表分区缺点(SQL Server 公用表表达式CTE实现递归的方法)
- sqlserver2012知识点(SQL Server 2012 安全概述)
- sqlserver安装与使用教程(SQL Server 2017 Developer的下载、安装、配置及SSMS的下载安装配置图文教程详解)
- sql server 进阶(SqlServer AS的用法)
- sqlserver函数条件判断(Sql Server 开窗函数Over的使用实例详解)
- sqlserver 怎么建立触发器(SQL Server:触发器实例详解)
- sqlserver多表查询(sqlserver 树形结构查询单表实例代码)
- 下雪会怎样(下雪怎样画)
- 白蓝色穿搭(白蓝色衣服配什么裤子)
- 天空是什么颜色(天空是什么颜色的英语)
- 高马尾扎发(高马尾扎发教程视频)
- 这里输入关键词(请手动输入关键词)
- 小说 顾瑾岚拿出一套飞行棋,别说你连飞行棋都不会哦(顾瑾岚拿出一套飞行棋)
热门推荐
- tomcat的startup闪退的原因(直接双击启动tomcat中的startup.bat闪退原因及解决方法)
- python蓝牙knn算法(python使用KNN算法识别手写数字)
- sql的select语句用法(SQL update select结合语句详解及应用)
- oraclemysql知识点(详解Mysql和Oracle之间的误区)
- html5的canvas图形绘制技术(详解HTML5 Canvas标签及基本使用)
- 腾讯云docker安装elasticsearch(docker 启动elasticsearch镜像,挂载目录后报错的解决)
- sqlserver调试存储过程(sql server2008调试存储过程的完整步骤)
- python虚拟环境和包使用教程(在win10和linux上分别安装Python虚拟环境的方法步骤)
- docker打包配置好的镜像(docker镜像的导入和导出的实现)
- 什么是jsonp格式
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9