1. row_number() 的分頁方法
dbccfreeproccache
dbcc
dropcleanbuffers
setstatistics time on
setstatistics io on
setstatistics 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) and15*
50set
statistics profile off;
2. offset and fetch 的分頁方法
--語法offset
fetch only
--**示例dbcc
freeproccache
dbcc
dropcleanbuffers
setstatistics time on
setstatistics io on
setstatistics profile on;
select id,title from article_detail order
by id offset (15
* (50
-1)) row fetch
next
15 rows only
setstatistics profile off;
1.在 sql server 2012 裡面,分頁方法中,offset and fetch 同 row_number() 比較起來,無論是效能還是語法,都是有優勢的。
2.但是效能方面,優勢並不是太大,兩者 的 io 消耗完全相同,只是 在 cpu 方面,offset and fetch 方面要好一些,但是不明顯。如果對於乙個 每秒都要處理成千上萬條的分頁sql語句的db 來說,offset and fetch 在cpu 方面的優勢會比較明顯的,否則,效能的提公升並不明顯。
3.語法方面 offset and fetch 則是十分的簡潔,一句搞定,比起 row_number() 好了太多 ~
資料庫分頁查詢方法
在這裡主要講解一下 mysql sqlserver2000 及sqlserver2005 和orcale三種 資料庫實現 分頁 查詢的方法。可能會有人說這些網上都有,但我的主要目的是把這些知識通過我實際的應用總結歸納一下,以方便大家查詢使用。下面就分別給大家介紹 講解一下三種資料庫實現分頁查詢的方法...
資料庫分頁查詢方法
在這裡主要講解一下mysql sqlserver2000 及sqlserver2005 和orcale三種資料庫實現分頁查詢的方法。您可能感興趣的文章 oracle,mysql,sqlserver三種資料庫的分頁查詢的例項 sql server 分頁查詢通用儲存過程 只做分頁查詢用 mysql分頁原...
資料庫分頁查詢方法
在這裡主要講解一下mysql sqlserver2000 及sqlserver2005 和orcale三種資料庫實現分頁查詢的方法。可能會有人說這些網上都有,但我的主要目的是把這些知識通過我實際的應用總結歸納一下,以方便大家查詢使用。下面就分別給大家介紹 講解一下三種資料庫實現分頁查詢的方法。一 m...