first_rows更傾向使用nested loop操作。
SQL> select * from test,test1 where test.object_id=test1.object_id;
50351 rows selected.
Elapsed: 00:00:01.68
Execution Plan
----------------------------------------------------------
Plan hash value: 16165315
-----------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
-----------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 50351 | 9145K| | 828 (2)| 00:00:10 |
|* 1 | HASH JOIN | | 50351 | 9145K| 5168K| 828 (2)| 00:00:10 |
| 2 | TABLE ACCESS FULL| TEST | 50351 | 4572K| | 161 (3)| 00:00:02 |
| 3 | TABLE ACCESS FULL| TEST | 50351 | 4572K| | 161 (3)| 00:00:02 |
-----------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("TEST"."OBJECT_ID"="OBJECT_ID")
Statistics
----------------------------------------------------------
8 recursive calls
0 db block gets
4722 consistent gets
0 physical reads
0 redo size
4244355 bytes sent via SQL*Net to client
37301 bytes received via SQL*Net from client
3358 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
50351 rows processed
SQL> select /*+ first_rows(5) */ * from test,test1 where test.object_id=test1.object_id;
50351 rows selected.
Elapsed: 00:00:01.75
Execution Plan
----------------------------------------------------------
Plan hash value: 4136908276
----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 5 | 930 | 7 (0)| 00:00:01 |
| 1 | NESTED LOOPS | | 5 | 930 | 7 (0)| 00:00:01 |
| 2 | TABLE ACCESS FULL | TEST | 50351 | 4572K| 2 (0)| 00:00:01 |
| 3 | TABLE ACCESS BY INDEX ROWID| TEST | 1 | 93 | 1 (0)| 00:00:01 |
|* 4 | INDEX UNIQUE SCAN | PK_TEST | 1 | | 0 (0)| 00:00:01 |
----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - access("TEST"."OBJECT_ID"="OBJECT_ID")
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
108083 consistent gets
0 physical reads
0 redo size
4244355 bytes sent via SQL*Net to client
37301 bytes received via SQL*Net from client
3358 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
50351 rows processed
first_rows更傾向使用nested loop操作。這是由於nested loop的內外表都沒集合(塊操作)操作。非常容易返回前N條記錄。而HASH JION至少內表是需要執行完畢,即需要在記憶體中把hash bucket構建完畢,才能讓外表去探測去返回記錄。first_rows 可以用在典型的一些分頁查詢中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-672052/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nested loop心得OOP
- HASH JOIN ,MERGE JOIN ,NESTED LOOPOOP
- 低智商者更傾向強烈的音樂?
- nested loop,sort merge join,hash joinOOP
- 【sql調優之執行計劃】nested loops join and nested loop join outerSQLOOP
- 資料庫實現原理#1(Nested Loop Join)資料庫OOP
- HASH JOIN ,MERGE JOIN ,NESTED LOOP(R2)OOP
- HASH JOIN ,MERGE JOIN ,NESTED LOOP的比較OOP
- 調查顯示德國年輕人更傾向於投資加密貨幣加密
- Mysql join 的本質,Nested Loop Join 和 Hash JoinMySqlOOP
- 使用loop迴圈操作DML語句OOP
- 【MySQL】MySQL效能優化之Block Nested-Loop Join(BNL)MySql優化BloCOOP
- 【MySQL】MySQL效能最佳化之Block Nested-Loop Join(BNL)MySqlBloCOOP
- python與nodejs寫爬蟲你更傾向於哪個一個?PythonNodeJS爬蟲
- 表的連線方式:NESTED LOOP、HASH JOIN、SORT MERGE JOIN(轉)OOP
- [操作向]DexExtractor的使用
- Cosumer Reports:調查顯示大部分使用者還是更傾向於繼續使用Windows 7系統Windows
- CEDEC:調查顯示日本遊戲從業者更傾向開發主機遊戲遊戲
- 【終極指南】使用Python視覺化分析文字情感傾向Python視覺化
- 研究顯示社交網路上人們更傾向於表達正面積極的情緒
- 多表連線的三種方式詳解 hash join、merge join、 nested loopOOP
- FIRST_ROWS和FIRST_ROWS(N)的區別 (zt)
- 投資參考:中國消費者更傾向於把錢存到網際網路金融平臺
- 艾瑞諮詢:2013年北美地區遊戲高付費使用者傾向於智慧手機端操作遊戲
- Debian技術委員會傾向採用Systemd
- 《連線》:買蘋果的人都有自戀傾向蘋果
- ScientiaMobile:iPhone使用者更喜歡縱向模式iPhone模式
- DeepIntent:研究顯示64% 的 CTV 觀眾更傾向於看廣告而不是為內容支付更多費用Intent
- 奈飛傾向於使用速度優先的快速資料壓縮演算法演算法
- 使用原生 cookieStore 方法,讓 Cookie 操作更簡單Cookie
- 【變更】線上庫的變更操作
- 剖析朋友圈點贊:互動設計師眼中的“使用者傾向系統”
- Autoexpress:81%的英國青少年首次購車傾向電動汽車Express
- pl/sql for loop迴圈的使用SQLOOP
- Python 短文字自動識別個體是否有自殺傾向Python
- 閒來無事,做做Google:21 道能力傾向測試面試題Go面試題
- Google:研究顯示35%的消費者傾向高階手機Go
- 美陸軍傾向為未來作戰系統選擇LinuxLinux