SQL Server分页编号的示例分析
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章给大家分享的是有关SQL Server分页编号的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。今天看书讲T-SQL,看到了UNBOUNDED PRECEDI
千家信息网最后更新 2025年01月31日SQL Server分页编号的示例分析
这篇文章给大家分享的是有关SQL Server分页编号的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
今天看书讲T-SQL,看到了UNBOUNDED PRECEDING,就想比对下ROW_NUMBER()的运行速度。
sql及相关的结果如下,数据库中的数据有5W+。
ROW_NUMBER():SET STATISTICS TIME ONSELECT ROW_NUMBER() OVER(ORDER BY Id DESC) rn,IdFROM dbo.T_MyCourse
运行结果
UNBOUNDED PRECEDINGSET STATISTICS TIME ONSELECT SUM(1) OVER(ORDER BY Id DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) rn,IdFROM dbo.T_MyCourse
运行结果
通过运行之后,看到结果,使用微软官方提供的方法进行编号排序,速度明显的提高。
不过我使用上述方法进行分页获取数据的时候结果又有点不一样。
分页获取数据:
ROW_NUMBER() 分页获取数据:
SET STATISTICS TIME ONSELECT *FROM ( SELECT ROW_NUMBER() OVER(ORDER BY Id DESC) rn,Id FROM dbo.T_MyCourse )aWHERE a.rn BETWEEN 55 AND 444
执行sql命令:DBCC DROPCLEANBUFFERS ,清除数据库缓存后的结果
UNBOUNDED分页获取数据:
SET STATISTICS TIME ONSELECT *FROM ( SELECT SUM(1) OVER(ORDER BY Id DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) rn,Id FROM dbo.T_MyCourse )aWHERE a.rn BETWEEN 22 AND 444
UNBOUNDED这个方式下执行了DBCC DROPCLEANBUFFERS 清除缓存的sql也没有用,执行时间没有变化。
通过上述结果,看到ROW_NUMBER()获取分页的数据明显更快,我猜测是微软对ROW_NUMBER()这个方法做了优化,可能是有缓存,读取的缓存中的数据然后进行分页。
感谢各位的阅读!关于"SQL Server分页编号的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
数据
结果
缓存
运行
方法
示例
分析
明显
内容
数据库
更多
篇文章
速度
微软
不错
实用
命令
官方
我猜
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
oa审批系统用什么软件开发
数据库集群如何数据一致性
软件连接异常请确认服务器地址
什么是网络安全大片
奥普泰软件开发
甘肃科研网络技术有限公司
服务器返回json格式
软件开发工程师技术工作内容
怎样维护采购数据库
sd敢达数据库
英位软件开发上海有限公司
校园网络安全防范工作总结
servce服务器的原理
软件开发心得总结
rq940服务器+管理口
服务器地址手机怎么获取
并购基金数据库 百度云
网络安全威胁处置记录
网络安全对电子商务重要性
积极维护网络安全手抄报
视频管理服务器属于什么大类
未来科技互联网图片
推动网络安全发展的认识与思考
江西信息化软件开发服务价格优惠
更改网页服务器时间
服务器地址手机怎么获取
qq服务器疑似故障
服务器为什么没有pc快
数据库能做什么数据处理
无线服务器连不上