分頁,是一種將所有資料分段展示給使用者的技術.使用者每次看到的不是全部資料,而是其中的一部分。如果在其中沒有找到自習自己想要的內容,使用者可以通過制定頁碼或是翻頁的方式轉換可見內容,直到找到自己想要的內容為止.其實這和我們閱讀書籍很類似,我們不能把整本書的全部內容寫在一頁紙上。
1、載入少量資料,減少客戶的和伺服器資料互動,降低伺服器壓力。
2、增強使用者體驗,每次載入資料量少,載入速度自然就快,使用者體驗就好。
2、 自動載入:如qq空間下拉自動載入資料
傳統分頁可以明確資料資訊,數量等;
下拉式無法明確資料量等資訊,分頁後之前從資訊還在頁面上。
關於記憶體分頁
當資料量較小時推薦使用。使用sublist進行分頁時,如果資料量比較大是乙個非常耗費系統資源的方案。
目前web專案有許多分布式系統,可能有多個系統訪問同乙個資料庫,那麼對資料庫的開銷就比較大了,這時可以考慮對記憶體分頁進行優化,例如利用程式快取處理機制等。
其實真正的記憶體分頁不是那麼簡單的事情,要實現乙個完整的通用的機制,不是一兩個小時就能搞定的。首先有乙個資料記錄的伺服器快取問題,然後才是資料記錄分頁問題,這個相對好解決一點,但第乙個問題就不太好組織。因為快取問題涉及到資料的快取位置,快取時間,刪除時間和利於查詢的資料組織問題。
資料庫分頁:
資料庫分頁的原理比較明確了,根據需要取結果集中的一部分就是了,沒什麼好說的。其實這樣有時候資料快取在資料庫系統內,可能比記憶體分頁要智慧型一點。
sql分頁
使用sql語句實現分頁
使用資料庫自帶的分頁語法,獲取分頁資料,如mysql的limit關鍵字,oracle的rownum關鍵字等
以下是常見的分頁sql語句
1.mysql分頁查詢語句:
select * from t_table limit 1,10;
postgresql分頁查詢語句
select * from t_table limit 10 offset 0;
oracle分頁查詢sql:
select * from (
select t.*,rownum rn from t_table t where rownum <=10
) where rn >=1;
使用hibernate框架進行分頁:
建立query或者criteria物件,查詢時,設定firstresult和maxresult屬性
eg:
string hql = 「from student_table」;
query q = session.createquery(hql);
q.setfirstresult(0);
q.setmaxresult(10);
list l = q.list();
mybatis分頁
由於mybatis的sql語句一般都是通過配置檔案手工寫的,可以直接參考sql分頁。
PHP Mysql 分頁原理及應用
分頁程式有兩個非常重要的引數 每頁顯示幾條記錄 pagesize 和當前是第幾頁 page 有了這兩個引數就可以很方便的寫出分頁程式,我們以mysql資料庫作為資料來源,在mysql裡如果要想取出表內某段特定內容可以使用的 t sql語句 select from table limit offset...
常用的分頁方法
定義變數 declare pagesize int 每頁顯示的條數 declare pageindex int 當前頁碼 數 賦 測試 值 set pagesize 10 set pageindex 2 方法1 select from select row number over order by ...
分頁技術原理與實現之分頁的意義及方法解析
什麼是分頁技術 分頁,是一種將所有資料分段展示給使用者的技術.使用者每次看到的不是全部資料,而是其中的一部分,如果在其中沒有找到自習自己想要的內容,使用者可以通過制定頁碼或是翻頁的方式轉換可見內容,直到找到自己想要的內容為止.其實這和我們閱讀書籍很類似.下頁顯示了兩種常見的分頁方式 分頁的意義 分頁...