五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

SQLSERVER分頁(yè)查詢關(guān)于使用Top方式和row_number()解析函數(shù)的不同

發(fā)布日期:2021-12-21 01:34 | 文章來(lái)源:CSDN

臨近春節(jié),心早已飛了不在工作上了,下面小編給大家整理些數(shù)據(jù)庫(kù)的幾種分頁(yè)查詢。

Sql Sever 2005之前版本:

select top 頁(yè)大小 *
from 表名
where id not in
(
select top 頁(yè)大小*(查詢第幾頁(yè)-1) id from 表名 order by id
)
order by id 

例如:

select top 10 * --10 為頁(yè)大小
from [TCCLine].[dbo].[CLine_CommonImage]
where id not in
(
--40是這么計(jì)算出來(lái)的:10*(5-1)
-- 頁(yè)大小*(查詢第幾頁(yè)-1)
select top 40 id from [TCCLine].[dbo].[CLine_CommonImage] order by id
)
order by id

結(jié)果為:

Sql Sever 2005及以上版本,多了個(gè)分頁(yè)查詢方法:

/*
* firstIndex:起始索引
* pageSize:每頁(yè)顯示的數(shù)量
* orderColumn:排序的字段名
* SQL:可以是簡(jiǎn)單的單表查詢語(yǔ)句,也可以是復(fù)雜的多表聯(lián)合查詢語(yǔ)句
*/
select top pageSize o.* from (select row_number() over(order by orderColumn) as rownumber,* from(SQL) as o where rownumber>firstIndex; 

例如:

select top 10 numComImg.* from 
( select row_number() over(order by id asc) as rownumber,* from (select * FROM [TCCLine].[dbo].[CLine_CommonImage]) as comImg)
as numComImg where rownumber>40 

結(jié)果:

這兩個(gè)方法,就僅僅是多了一列 rewnumber 嗎?當(dāng)然不是,來(lái)看下內(nèi)部差別吧:

在兩個(gè)SQL上,分別加入以下SQL,并使用MS的“包括執(zhí)行計(jì)劃”,便于查看執(zhí)行詳情:

SET STATISTICS TIME ON
GO 

要執(zhí)行的SQL:

SET STATISTICS TIME ON
GO
select top 10 numComImg.* from 
( select row_number() over(order by id asc) as rownumber,* from (select * FROM [TCCLine].[dbo].[CLine_CommonImage]) as comImg)
as numComImg where rownumber>40
SET STATISTICS TIME ON
GO
select top 10 * --10 為頁(yè)大小
from [TCCLine].[dbo].[CLine_CommonImage]
where id not in
(
--40是這么計(jì)算出來(lái)的:10*(5-1)
-- 頁(yè)大小*(查詢第幾頁(yè)-1)
select top 40 id from [TCCLine].[dbo].[CLine_CommonImage] order by id
)
order by id 

執(zhí)行之后,查看執(zhí)行計(jì)劃:

看得出,兩個(gè)同樣功能的SQL,執(zhí)行時(shí),使用 row_number() 的,要比是用 純TOP方式的,查詢開(kāi)銷少得多,上圖顯示 28:72,純top方式,使用了兩次聚集掃描。

再來(lái)看下執(zhí)行時(shí)間信息:

row_number()方式的:


純top方式:


相比之下,還是row_number()解析函數(shù)效率比較高寫。

以上所述是小編給大家分享的SQLSERVER分頁(yè)查詢關(guān)于使用Top方式和row_number()解析函數(shù)的不同,希望對(duì)大家有所幫助。

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部