一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle分頁查詢的實例詳解

Oracle分頁查詢的實例詳解

2020-03-21 18:50zw7534313 Oracle

這篇文章主要介紹了Oracle分頁查詢的實例詳解的相關資料,希望通過本文能幫助到大家實現理解這部分內容,需要的朋友可以參考下

Oracle分頁查詢的實例詳解

1.Oracle分頁查詢:

?
1
2
3
4
5
SELECT * FROM
( SELECT A.*, ROWNUM RN FROM
    (SELECT * FROM tab) A
    WHERE ROWNUM <= 40 )
       WHERE RN >= 21;

這個分頁比下面的執行時間少,效率高。 

2.

?
1
2
select * from
    (select c.*,rownum rn from tab c) where rn between 21 and 40

 對比這兩種寫法,絕大多數的情況下,第一個查詢的效率比第二個高得多。這是由于CBO優化模式下,Oracle可以將外層的查詢條件推到內層查詢中,以提高內層查詢的執行效率。對于第一個查詢語句,第二層的查詢條件WHERE ROWNUM <= 40就可以被Oracle推入到內層查詢中,這樣Oracle查詢的結果一旦超過了ROWNUM限制條件,就終止查詢將結果返回了。
而第二個查詢語句,由于查詢條件BETWEEN 21 AND 40是存在于查詢的第三層,而Oracle無法將第三層的查詢條件推到最內層(即使推到最內層也沒有意義,因為最內層查詢不知道RN代表什么)。】因此,對于第二個查詢語句,
Oracle最內層返回給中間層的是所有滿足條件的數據,而中間層返回給最外層的也是所有數據。數據的過濾在最外層完成,
顯然這個效率要比第一個查詢低得多。

上面分析的查詢不僅僅是針對單表的簡單查詢,對于最內層查詢是復雜的多表聯合查詢或最內層查詢包含排序的情況一樣有效。

3.下面簡單討論一下多表聯合的情況。對于最常見的等值表連接查詢,CBO一般可能會采用兩種連接方式

NESTED LOOP和HASH JOIN(MERGE JOIN效率比HASH JOIN效率低,一般CBO不會考慮)。
在這里,由于使用了分頁,因此指定了一個返回的最大記錄數,NESTED LOOP在返回記錄數超過最大值時
可以馬上停止并將結果返回給中間層,而HASH JOIN必須處理完所有結果集(MERGE JOIN也是)。
那么在大部分的情況下,對于Oracle分頁查詢選擇NESTED LOOP作為查詢的連接方法具有較高的效率
(分頁查詢的時候絕大部分的情況是查詢前幾頁的數據,越靠后面的頁數訪問幾率越小)。

?
1
2
3
4
5
SELECT /*+FIRST_ROWS*/ * FROM     ---hint 提示,優化查詢
( SELECT A.*, ROWNUM RN FROM
    (SELECT * FROM tab) A
    WHERE ROWNUM <= 400 )
       WHERE RN >= 380

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://zw7534313.iteye.com/blog/911542

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: pregnanthd产子| 暖暖的视频完整视频韩国免费 | 青草娱乐极品免费视频 | 青青草原国产一区二区 | 欧美乱妇高清无乱码视频在线 | 大陆黄色片 | 九九国产在线观看 | 午夜精品国产自在现线拍 | 2019天天干夜夜操 | 成人在线第一页 | 国产色司机在线视频免费观看 | 日韩精品视频在线观看免费 | 天天综合网网欲色 | 久久综合给会久久狠狠狠 | 国产午夜成人无码免费看 | 欧美在线高清 | 成人午夜剧场 | jj视频免费看 | 美女黄金大片视频免费看 | 男人疯狂进女人下部视频动漫 | 亚洲日韩精品欧美一区二区 | 亚洲女性色尼古综合网 | 满溢游泳池免费土豪全集下拉版 | 91国内精品久久久久影院优播 | 99热资源| 国产私拍精品88福利视频 | 国产专区日韩精品欧美色 | 俄罗斯三级完整版在线观看 | 国产高清专区 | 调教扩张宫颈女人惨叫 | 成人欧美一区在线视频在线观看 | 久久黄色录像 | 男女真实无遮挡xx00动态图软件 | 特黄特a级特别特级特毛片 特黄a级三级三级野战 | 久久久久综合 | 美女扒开胸罩露出奶了无遮挡免费 | 亚欧精品在线观看 | 美女张开腿黄网站免费精品动漫 | 性欧美高清强烈性视频 | 亚洲人尿尿 | 日本在线播放 |