數據庫有大量數據的時候會涉及到大量數據查詢及顯示問題,加入數據量特別大,有幾十萬上百萬條數據,先不說查詢效率,這些說句全部讀到內存,佔用的物理內存就能把程序拖垮。因此產生了分頁查詢。
Oracle查詢的時候,返回的結果集默認添加一個rownum的屬性名,記錄了行號,給這個屬性添加限制,就能到達分頁的目的。
1)通常的寫法。
select rn,id from (select from rownum as rn ,id from (select * from test)) where rn >=0 and rn < 100;
2)第二種寫法。
select rn,id from (selet from rownum as rn ,id from (select * from test) where rownum <=100) where rn > 100;
寫程序檢驗了一下,第二種寫法要比第一種方法快很多。
具體的解釋參考下面引用:
[1] http://www.cnblogs.com/Ronger/archive/2012/05/14/2498971.html
[2] http://blog.sina.com.cn/s/blog_8604ca230100vro9.html