最好的辦法是利用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);
在ORACLE大資料量下的分頁解決方法
在oracle大資料量下的分頁解決方法。一般用擷取id方法,還有是三層巢狀方法。答 一種分頁方法 int i 1 int numpages 14 string pages request.getparameter page int currentpage 1 currentpage pages nu...
大資料量下的分頁
大資料量下的分頁 郭紅俊 select from orders where orderid between 10248 and 10253 select from orders where orderid in 10248,10249,10250,10251,10252,10253 order by...
大資料量下,分頁查詢優化方法解釋
演算法如這篇文章 之前老王也發過此方法 簡單解釋一下,也作為思路整理 1,使用stat作為乙個單一索引 desc select id from table where stat 1 order by id limit 90000,5 1 table ref stat stat 1 const 151...