Oracle性能優化之oracle中常見的執行計划及其簡單解釋


一、訪問表執行計划

1、table access full:全表掃描。它會訪問表中的每一條記錄(讀取高水位線以內的每一個數據塊)。

2、table access by user rowid:輸入源rowid來自於用戶指定。

3、table access by index rowid:輸入源rowid來自於索引。

4、table access by global index rowid:全局索引獲取rowid,然后再回表。

5、table access by local index rowid:分區索引獲取rowid,然后再回表。

6、table access cluster:通過索引簇的鍵來訪問索表。

7、external table access:訪問外部表。

8、result cache:結果集可能來自於緩存。

9、mat_view rewrite access:物化視圖。

二、與B-TREE索引相關的執行計划

1、index unique scan:只返回一條rowid的索引掃描,或者unique索引的等值掃描。

2、index range scan:返回多條rowid的索引掃描。

3、index full scan:順序掃描整個索引。

4、index fast full scan:多塊讀方式掃描整個索引。

5、index skip scan:多應用於組合索引中,引導鍵值為空的情況下索引掃描。

6、and-equal:合並來自於一個或多個索引的結果集。

7、domain index:應用域索引。

三、與BIT-MAP索引相關的執行計划

1、bitmap conversion:將位轉換為rowid或相反。

2、bitmap index:從位圖中取一個值或一個范圍。

3、bitmap merge

4、bitmap minus:

5、bitmap or:

四、與表連接相關的執行計划

1、merge join:排序合並連接。

2、nested loops:嵌套循環連接。

3、hash join:哈希連接。

4、cartesian:笛卡爾積連接。

5、connect by:層次查詢索引,多來自於start with子句。

6、outer:外鏈接。

1)merge join outer:

2)nested loops outer:

3)hash join outer:

7、anti:反連接。

1)merge join anti:

2)nested loops anti:

3)hash join anti:

8、semi:半連接。

1)merge join semi:

2)nested loops semi:

3)hash join semi:

五、與集合相關的執行計划

1、union-all:

2、union(union-all,sort unique):

3、concatenation:

4、intersection:

5、minus:

六、與分區相關的索引

1、partition single:訪問單個分區。

2、partition iterator:訪問多個分區。

3、partition all:訪問所有分區。

4、partition inlist:基於in列表中的值來訪問分區。

七、與sort相關的執行計划

1、sort unique:排序、去重。

2、sort join:為merge join的第一步,排序操作,一般與merge join聯合使用。

3、sort aggregate:當分組好的數據上使用分組函數時。

4、sort order by:單純的排序

5、sort group by:排序並分組

6、buffer sort:對臨時結果進行一次內存排序。

八、其他執行計划

1、view:

2、count:

3、stopkey:目標sql中存在rownum<10這種情況。

4、hash group by:

5、inlist iterator:

6、filter:過濾,相當於處理過的排序合並連接。

7、remote:與dblink相關的執行計划。

8、for update:

9、sequence:使用了oracle序列。

10、collection iterator:使用了表函數提取記錄。

11、fast dual:訪問dual表。

12、first row:獲取查詢的第一條記錄。

13、load as select:使用select進行直接路徑insert操作,通常加/*+append*/提示。

14、fixed table:訪問固定的(X$/V$)表。

15、fixed index:訪問固定的索引。

16、window buffer:支持分析函數的內部操作。


免責聲明!

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



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