一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - sqlserver 三種分頁方式性能比較[圖文]

sqlserver 三種分頁方式性能比較[圖文]

2019-12-06 14:24MSSQL教程網 Sql Server

第二種分頁方法和第一種分頁方法效率差不多,但第二種可用于老版本的sqlserver甚至access,最后一種別用

Liwu_Items表,CreateTime列建立聚集索引 

第一種,sqlserver2005特有的分頁語法 

復制代碼代碼如下:


declare @page int 
declare @pagesize int 
set @page = 2 
set @pagesize = 12 

SET STATISTICS IO on 
SELECT a.* FROM ( 
SELECT ROW_NUMBER() OVER (ORDER BY b.CreateTime DESC) AS [ROW_NUMBER], b.* 
FROM [dbo].[Liwu_Items] AS b ) AS a 
WHERE a.[ROW_NUMBER] BETWEEN @pagesize + 1 AND (@page*@pagesize) 
ORDER BY a.[ROW_NUMBER] 


結果: 

(12 行受影響)表 'Liwu_Items'。掃描計數 1,邏輯讀取 7 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。 
  邏輯讀是7次

執行計劃:

sqlserver 三種分頁方式性能比較[圖文]

主要開銷都在聚集索引掃描了。

第二種,用兩個top分別正序和倒序排列,共另個子查詢來實現分頁,

復制代碼代碼如下:


declare @page int 
declare @pagesize int 
set @page = 2 
set @pagesize = 12 

SET STATISTICS IO on 
select * from ( 
select top (@pagesize) * from 
(select top (@page*@pagesize) * from Liwu_Items order by CreateTime desc) a 
order by CreateTime asc) b 
order by CreateTime desc 


結果 

(12 行受影響)表 'Liwu_Items'。掃描計數 1,邏輯讀取 7 次,物理讀取 0 次,預讀 317 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。 
  執行計劃

 

sqlserver 三種分頁方式性能比較[圖文]

執行計劃和第一種差不多,但兩個排序占的資源挺多的。

第三種,最垃圾的一種,用not in字句實現的,如下

復制代碼代碼如下:


declare @page int 
declare @pagesize int 
set @page = 2 
set @pagesize = 12 

SET STATISTICS IO on 
select top(@pagesize) * from Liwu_Items 
where ItemId not in( 
select top((@page-1)*@pagesize) ItemId from Liwu_Items order by CreateTime desc) 
order by CreateTime Desc 


結果 

(12 行受影響)表 'Worktable'。掃描計數 1,邏輯讀取 70 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。表 'Liwu_Items'。掃描計數 2,邏輯讀取 18 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。 
  性能最差,對兩個表進行處理,邏輯讀都很高,汗。 

 

執行計劃

sqlserver 三種分頁方式性能比較[圖文]

這執行計劃都看不懂,嵌套循環和表假脫機占了很大的資源。

 

總結:第二種分頁方法和第一種分頁方法效率差不多,但第二種可用于老版本的sqlserver甚至access,最后一種別用。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲福利 影院 | 好吊日在线 | 啊啊啊好大好爽视频 | 国产99视频精品免视看7 | 青草青青在线视频观看 | 色愉拍亚洲偷自拍 | 5g996未满十八 | 果冻传媒新在线观看免费 | 国产第一页在线视频 | 男人肌肌捅女人肌肌 | 午夜影院在线免费观看 | 果冻传媒ⅹxxxxxhd | 人与动人物性行为zozo共患病 | 欧美精品国产一区二区三区 | 亚洲欧美色综合图小说 | 办公室恋情在线观看 | 色花堂中文字幕98堂网址 | 欧美成人乱弄视频 | 美女脱一光二净的视频 | 成人xxxxxx| 午夜视频一区二区三区 | 婷婷久久热99在线精品 | 欧美男男gaygaysxxx | 欧美国产在线视频 | 情趣内衣在线观看 | 日本中年japanesebear | 日本在线视 | 99精品视频免费 | 午夜国产在线观看 | 精品AV亚洲乱码一区二区 | 久久99精国产一区二区三区四区 | 亚洲小视频网站 | 成人一区二区免费中文字幕 | 侮辱丰满美丽的人妻 | 玩50岁四川熟女大白屁股直播 | www.青草视频 | 日本wwxx护士 | 国产精品亚洲专区在线播放 | 欧美5g影院| 色哟呦| 喷奶水榨乳ova动漫无修 |