在系統開發過程中,需要對數據進行查詢,大部分情況下從數據庫中查詢的數據量比較大,在系統頁面無法全部顯示,而且查詢全部的數據會影響系統的反應速度,需要對所查詢的數據進行分頁的查詢操作,以此減輕系統的壓力。
在Oracle數據庫中,如何完成分頁SQL的編寫,影響著系統開發的速度,特提供兩個SQL的分頁模板:
(1).采用oracle的內置函數ROWNUM。(ROWNUM是結果的偽列,僅僅當聚集結果時產生,但早于排序或聚合)
select <columns I actually want>,rownum r
from (select <colums I actually want> from table name order by Group name) where rownum<= The number of rows;
(2).采用oracle的內置函數ROW_NUMBER。
select <desired columns> (select <desired columns>,row_number() over (oeder by <ordering column>)r
from <source table,view,etc>) where r between :page-start-row and :page-end-row
備注::page-start-row 頁起始行 :page-end-row 頁結束行
在數據庫之外的分頁之中,應用層緩存技術分頁不可避免地產生大量的網絡流量;游標驅動分頁在數據庫里完成操作,會受到游標技術的影響,使得分頁變得“陳舊”
文章列表