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