選擇最好的分頁方式

5.6.2 邏輯分頁的第一種方式
利用ResultSet滾動分頁步驟如下:
(1)根據條件SQL查詢數據庫。
(2)得到ResultSet的結果集,由於ResuletSet帶有遊標,因此可以使用其next()方法來指向下一條記錄。
(3)利用next()方法得道所需的結果集。
while(rs.next()){
if(currentNum>=skipBegin&&currentNum<skipEnd){
//處理結果集
}
currentNum++;
}
5.6.2 邏輯分頁的第二種方式
利用可滾動的的結果集合來快速定位到某個遊標說指定的記錄,所使用得是ResultSet的absolute()方法。
if(!rs.absolute(skipBegin)){

return resultList;
}
while(){
if(skipBegin<skipEnd){
}
skipBegin++;
}
2 物理分頁
(1) top
(2) rownum
(3) 分析學分頁

oracle分頁:
1.oracle中使用一般使用rownum分頁,但查詢語句中有group by 時不能用,就採用在內存中分頁。
2.內存中分頁的的需要注意一下幾點:
(1)創建statement時要帶上參數。例如:pstmtOne = conn.prepareStatement(LIST_SQL,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
(2)使用rs.last();maxRow = rs.getRow();得到記錄總數。
(3)使用rs.absolute(from);確定查詢記錄的開始位置。
SQLServer分頁:
1.SQLServer中使用top分頁。例如:從book表中查第2頁,每頁3條數據
select top 3 * from book where bookid not in (select top 3 bookid from book)
2 oracle分頁
select * from (select rownum r,sb_bh from d_sbll_yzts where rownum<=2000) temp_d_sbll_yzts
where temp_d_sbll_yzts.r>1000

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