Sql Server 2012 分頁(yè)方法分析(offset and fe建站知識(shí)
導(dǎo)讀:1建站知識(shí)最近在分析 Sql Server 2012 中 offset and fetch 的新特性,發(fā)現(xiàn) offset and fetch 無(wú)論語(yǔ)法的簡(jiǎn)潔還是功能的強(qiáng)大seo網(wǎng)站優(yōu)化企業(yè)網(wǎng)站建設(shè)。
其中 offset and fet網(wǎng)站建設(shè)公司ch 最重要的新特性是 用來(lái) 分頁(yè),既然要分析 分頁(yè),就肯定要和之前的分頁(yè)方式來(lái)比較了,特別是 Row_Number() 了,在比較過程中,發(fā)現(xiàn)了蠻多,不過最重要的,通過比較本質(zhì),得出了優(yōu)劣,也和大家一起分享下。 準(zhǔn)備工作,建立測(cè)試表:Article_Detail,主要是用來(lái)存放一些文章信息,測(cè)試的時(shí)間,都是從網(wǎng)易上面轉(zhuǎn)載的新聞,同時(shí),測(cè)試表數(shù)據(jù)字段類型是比較均勻的,為了更好的測(cè)試,表結(jié)構(gòu)如下圖:
內(nèi)容:
數(shù)據(jù)量:129,991 條記錄 語(yǔ)法分析 1. NTILE() 的分頁(yè)方法 NTILE() 方法可以用來(lái)分頁(yè),但是應(yīng)用場(chǎng)景十分的狹窄,并且性能差勁,和 Row_Number() 與 offset fetch 分頁(yè)比起來(lái)沒有任何優(yōu)勢(shì),也只有在只讀表上面分頁(yè)的話,還是比較合適的;雖然不好用,但是還能來(lái)分頁(yè)的,所以只簡(jiǎn)單的介紹下。 語(yǔ)法: NTILE (integer_expression) OVER ( [ <partition_by_clause> ] < order_by_clause > ) 將有序分區(qū)中的行分發(fā)到指定數(shù)目的組中。 各個(gè)組有編號(hào),編號(hào)從一開始。 對(duì)于每一個(gè)行,NTILE 將返回此行所屬的組的編號(hào)。 測(cè)試中用到的 Sql 語(yǔ)句 :復(fù)制代碼 代碼如下:
set statistics time on set statistics io on set statistics profile on; with #pager as ( select ID,Title,NTILE(8666) OVER(Order By ID) as pageid from Article_Detail ) select ID,Title from #pager where pageid=50 set statistics profile on;
其中上述數(shù)字中的 8666 是根據(jù) RowCount / Pagesize 計(jì)算出來(lái)的,不過多介紹,可以自行參考 MSDN的 2. ROW_NUMBER() 的分頁(yè)方法 在 Sql Server 2000 之后的版本中,ROW_NUMBER() 這種分頁(yè)方式一直都是很不錯(cuò)的,比起之前的游標(biāo)分頁(yè),性能好了很多,因?yàn)?ROW_NUMBER網(wǎng)站seo優(yōu)化() 并不會(huì)引起全表掃表,但是,語(yǔ)法比較復(fù)雜,并且,隨著頁(yè)碼的增加,性能也越來(lái)越差。 語(yǔ)法 : ROW_NUMBER ( ) OVER ( [ PARTITION BY value_expression , ... [ n ] ] order_by_clause ) 測(cè)試中用到的 Sql 語(yǔ)句:復(fù)制代碼 代碼如下:
dbcc freeproccache dbcc dropcleanbuffers set statistics time on set statistics io on set statistics profile on; with #pager as ( select ID,Title,ROW_NUMBER() OVER(Order By ID) as rowid from Article_Detail ) select ID,Title from #pager where rowid between (15 * (50-1)+1) and 15 * 50 set statistics profile off;
3. Offset and Fetch 的分頁(yè)方法 語(yǔ)法: OFFSET { integer_constant | offset_row_count_expression } { ROW | ROWS } FETCH { FIRST | NEXT } { integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY 從語(yǔ)法可以看出來(lái) 兩個(gè)方法 后面不但能接 intege 類型的參數(shù),還能接 表達(dá)式的,比如 1*2 +3 之類的,同時(shí), Row 建設(shè)網(wǎng)站或者 Rows 是不區(qū)分大小寫和單復(fù)數(shù)的哦 在看測(cè)試用的 Sql 語(yǔ)句,真的是簡(jiǎn)潔的不能再簡(jiǎn)潔了,看兩遍都能記住的語(yǔ)法,分頁(yè)可以如此的簡(jiǎn)潔:聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-05-23 ,文章Sql Server 2012 分頁(yè)方法分析(offset and fe建站知識(shí)主要講述分頁(yè),標(biāo)簽,Sql Server 2012 分頁(yè)方法分析(o網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_5725.html
為你推薦與Sql Server 2012 分頁(yè)方法分析(offset and fe建站知識(shí)相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長(zhǎng)度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12