ORACLE 分頁SQL


這個sql的分頁很簡單,但是由於十分常用,且通常用於查詢大量數據的情況。

SELECT * FROM(
        SELECT A.*,ROWNUM RN
        FROM 
                    (SELECT * FROM TABLE_XX ) A
        WHERE ROWNUM<=20
)  TL 
WHERE RN >=11
 
這個sql高效的原因在於優化模式下,
Oracle可以將外層的查詢條件推到內層查詢中,以提高內層查詢的執行效率。
故此查詢中,查詢條件WHERE ROWNUM<=20就可以被Oracle推入到內層查詢中,
這樣Oracle查詢的結果一旦超過了ROWNUM限制條件,就終止查詢,將結果返回。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM