大數據量下的分頁解決方法

最好的辦法是利用sql語句進行分頁,這樣每次查詢出的結果集中就只包含某頁的數據內容。再sql語句無法實現分頁的情況下,可以考慮對大的結果集通過遊標定位方式來獲取某頁的數據。

sql語句分頁,不同的數據庫下的分頁方案各不一樣,下面是主流的三種數據庫的分頁sql

sql server:

         String sql =

         "select top " + pageSize + " * from students where id not in" +

 

 "(select top " + pageSize * (pageNumber-1) + " id from students order by id)" +

 

 "order by id";

 

mysql:

 

         String sql =

         "select * from students order by id limit " + pageSize*(pageNumber-1) + "," + pageSize;

        

oracle:

 

         String sql =

          "select * from " + 

          (select *,rownum rid from (select * from students order by postime desc) where rid<=" + pagesize*pagenumber + ") as t" +

          "where t>" + pageSize*(pageNumber-1);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章