分页实现方法的性能比较的
2021-10-29 04:55:08 兴城星座网
我们先给出几种主要的分页方法和核心语句,然后直接给出结论,有兴趣的读者可以看看后面的数据
几种常用存储过程分页方法
TopN方法
select Top(@PageSize) from TableName where ID Not IN
(Select Top ((@PageIndex-1)*@PageSize) ID from Table Name where .... order by ... )
where .... order by ...
临时表
declare @indextable table(id int identity(1,1),nid int,PostUserName nvarchar(50))
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize--下限
set @PageUpperBound=@PageLowerBound+@pagesize--上限
set rowcount @PageUpperBound
insert into @indextable(nid,PostUserName) select ReplyID,PostUserName from TableName order by ......
select * from TableName p,@indextable t where =d
and @PageLowerBound and =@PageUpperBoundorder by
CTE--2005新语法,类似临时表,但是生命周期稍微不同,这里只是他的一个运用
我老婆在这个时候帮了我忙。这也是为什么说 with cte_temp--定义零时表,PageIndex是一个计算字段,储存了搜索结果的页号
As (ceiling((Row_Number() over(order by .... )-1)/@pagesize as int) as PageIndex,* from TableName where.....)
select * from cte_temp where pageindex=@pageindex-1
结论:
TopN在小页数下最快,如果在10页以下,可以考虑用它,CTE和临时表时间很稳定,CTE消耗的时间比临时表多,但是不会引起tempdb的暴涨和IO增加
性能比较
试验环境:win2003server,Sqlserver2005,库大小2,567,245行,没有where子句,试验时每页大小50,页码作为变量
取0,3,10,31,100,316,1000,3162...页,也就是10的指数,试验结果如下
页数 TopN CTE 临时表(有缓存) 临时表(无缓存)
公司正在使用的存储过程 CTE改进
1 3 12 10 101 457 7302
3 15 7 79 5524 464 7191
10 127 5504 88 3801 464 6116
32 588 9672 122 3601 976 7602
100 4680 9738 166 4235 486 7151
316 45271 9764 323 3867 522 7255
1000 Null 9806 869 2578 635 8948
3162 Null 9822 2485 4110 12460 8210
10000 Null 9754 7812 11926 14250 7359
31623 Null 9775 18729 33218 15249 7511
100000 Null Null 31538 55569 17139 6124
数据解释和分析
临时表分为有没有缓存两种时间,CTE就是上面的方法,CTE改进只是把选入CTE临时表的列数减少了,只选取了页号和主键,Null表示时间无法计算(时间太长),数据单位是毫秒.
从上面的数据可以看到,TopN在前32页都是有优势的,但是页数增大后,性能降低很快,CTE改进比CTE有所进步,平均进步两秒左右,但是还是比临时表慢,但是考虑临时表会增大日志文件的大小,引起大量IO,CTE也就有他自己的优势,公司现在正在使用的存储过程效率不错,但是在页码靠后的情况下性能会降低
西宁白癜风医院南平治疗白癜风的医院
北京哪男科医院好
- 上一篇:分配权力有助于跨公司项目的成功呢
- 下一篇:创新限量促销容量直降元物业
-
吃拉塞尔司他减肥,别忽略这些问题
减重,似乎是人们最常提过的词语之一。系列产品上各种减重相关系列产品算是鱼龙混杂,今天我背著大家来了解到一下发展之前国家牛奶牛奶监督管理...
天秤座2024.07.19
-
阵容顶级,全员戏骨,又一部扫黑大剧要来了,张译出品
张译,男主角的《觉醒之四门》正因如此成了这一时期的后起之秀正因如此。上线7天,早就拿到6天热度亚军。进步的故事和充满着出人意表的情节让这...
天秤座2024.01.04
-
高中学历,应该从什么简而言之提升自己的学历?
1.如果你年龄还小,高三、高中时教书,或者几天后初中部时毕业考虑要不让部分学生过。那么我促请你关闭这个回答老老实实去劝服全家人只想尽一切...
天秤座2023.10.12
-
妈妈“乱数数”散手娃喝药火了,网友:但凡有幼儿园文凭也不至于
近期天气转凉了,以致于有些体质差的宝贝巳点小病。父母重病,最难受的就是学巳家长了。一方面安慰父母重病受罪,另一方面还要带父母看医巳,花...
天秤座2023.09.25
-
“失联”近半年,董卿丈夫有了新消息!明天起正常履职董事长!去年财富超100亿,如今旗下上市公司即将开
原标题 “失联”近半年后,董卿女儿终于有了取而代之最取而代之消息!明天起长时间言说总经理!去年财富激100亿,如今旗下港交所取而代之公司即将...
天秤座2023.09.23
-
困扰基础教育的十大疑问
1.可能会应试的教育,使中幼儿教育生课业负担持续性沉重,严重影响自尊。每次“减负”总以代课负担不减反增而告终。 2.少数代理校长私心太重,或...
天秤座2023.09.18
-
助听器为什么总是需调?
有些朋友们觉得眼镜变一回就可以了,为什么老要变呀?我的一个朋友们就变了一次就仍然变了,我这个需要变个十次八次的才觉得好,那是因为每个人...
天秤座2023.09.12
-
虐心,兔子彻底被机械化,红红好不容易才想起以前事情,拍视频怕忘记大家就决战次时代 雀跃 多想留在你身
虐心,灰太狼彻底被机械化,红红好不容易才想起在此之前事情,放视频怕忘记大家就决战次开端 诧异 多想送回你身边 吃了肠炎宁能不能吃妈咪爱髋关...
天秤座2023.09.10
-
今年中招,郑州3所高中校园足球试验班面向各县市招生150人
2022年中招之际启幕。6月12日,记者从开封市实验中学、渭南市第九中学、渭南市第二私立中学获悉,本年度中招,3所转学的学生宿舍足球联赛初中生为...
天秤座2023.09.09
-
衡水市人民医院发布2022年住院医师规范化职业培训招生章程
所写:郝晓宁、张秀荣 来源:里国视窗 一、所医院参阅 邢台西关街道暴政所医院(哈励基斯国际间和平所医院)于2020年12排卵国内卫健委批复为第三批国...
天秤座2023.09.07