分頁實際上就是從結果集中擷取當前所需要展示的那部分內容。
為什麼需要進行分頁查詢?當使用select查詢時,如果結果集資料量很大,比如有上萬條記錄,一次性查詢所有結果會變得很慢,因此需要使用分頁查詢。
分頁查詢的幾種方式:
1,限定+偏移(limit ... offset ...)
首先確定每頁需要顯示的結果數量pagesize,然後將limit設定為pagesize,再根據當前頁的索引pageindex,計算offset的值為pagesize*(pageindex-1)。
select *from userorder by id
limit 10 offset 20;
缺點:當limit偏移量大的時候,查詢效率較低。
2,篩選+限定
比如我們要取的是從第10000行開始的10行記錄,那麼我們可以先把大於或等於10000行的資料查出來並排序,然後再取出前10行記錄。
select *from userwhere id >= 10000order by id
limit 10;
這種查詢方式能夠極大地優化查詢速度,基本能夠在幾十毫秒之內完成。
缺點:只能使用於明確知道id的情況。
SQL分頁查詢
分頁sql查詢在程式設計的應用很多,主要有儲存過程分頁和sql分頁兩種,我比較喜歡用sql分頁,主要是很方便。為了提高查詢效率,應在排序欄位上加索引。sql分頁查詢的原理很簡單,比如你要查100條資料中的30 40條,你先查詢出前40條,再把這30條倒序,再查出這倒序後的前十條,最後把這十條倒序就是...
sql分頁查詢
declare id int declare moverecords int declare currentpage int declare pagesize int set currentpage 300 set pagesize 100 currentpage和 pagesize是傳入引數 se...
SQL分頁查詢
關於sql語句分頁,網上也有很多啦,我貼一部分過來,並且總結自己已知的分頁到下面,方便日後查閱。方法1 適用於 sql server 2000 2005 1 select top 頁大小 2from table1 3where id not in4 5select top 頁大小 頁數 1 id f...