程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> oracle語句分頁

oracle語句分頁

編輯:Oracle數據庫基礎

1.:

當結果集不需要進行排序時,每頁顯示條數為:rowPerPage,當前頁數為:currentPage。

1、 相對來說,這種查詢速度會快一些,因為當currentPage小時,嵌套語句查詢的結果集小。但當currentPage 變大時,查詢速度會慢慢變慢。當結果集很大時,查詢第一頁跟最後一頁的速度會有明顯變化。(傾向用這種!)

select * from(   select rownum r,   field1,fIEld2 from table_name where rownum <= currentPage * rowPerPage   
)   
where r > (currentPage-1) * rowPerPage   
select * from(
select rownum r, field1,fIEld2 from table_name where rownum <= currentPage * rowPerPage
)
where r > (currentPage-1) * rowPerPage

2、相對來說,這種查詢速度會慢一些,無論當currentPage大小,嵌套語句查詢的結果集都是一樣多的,都是整個結果集。但是,當結果集很大時,查詢第一頁跟最後一頁的速度不會有明顯變化。

select * from(   
select rownum r,   field1,fIEld2 from table_name   
)   
where r   > (currentPage-1) * rowPerPage   and   r <= currentPage * rowPerPage  
select * from(
select rownum r, field1,fIEld2 from table_name
)
where r > (currentPage-1) * rowPerPage and r <= currentPage * rowPerPage

當需要進行排序時,以第一種方式進行示例如下:

select * from(   
select rownum r, a.* from (   
select   field1,field2 from table_name order by fIEld1   
) a where rownum <= currentPage * rowPerPage   
) where r > (currentPage-1) * rowPerPage

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved