文章出處

     在系統開發過程中,需要對數據進行查詢,大部分情況下從數據庫中查詢的數據量比較大,在系統頁面無法全部顯示,而且查詢全部的數據會影響系統的反應速度,需要對所查詢的數據進行分頁的查詢操作,以此減輕系統的壓力。

    在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  頁結束行

 

        在數據庫之外的分頁之中,應用層緩存技術分頁不可避免地產生大量的網絡流量;游標驅動分頁在數據庫里完成操作,會受到游標技術的影響,使得分頁變得“陳舊”


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()