oracle 的優化器
oracle的優化是oracle資料庫最核心的部分,它負責解析SQL語句。要想做好sql優化就必須瞭解優化器。為了讓大家對Oracle資料庫的優化器有個全域性的瞭解和認識。我們今天簡歷的聊聊oracle的優化器。
oracle優化器分RBO(基於規則的優化器)和CBO(基於成本的優化器)兩種型別。
優化器的目的是為了獲取SQL的最優執行計劃。
RBO(基於規則的優化器):oracle內建的一套規則。這個套規則是oracle硬編碼在oracle資料庫的程式碼中的。當SQL語句發給oracle伺服器,oracle優化器從SQL語句很多執行路徑中選擇一條執行計劃。
1.基於規則的優化器大致分為15個等級。等級1所對應的執行路徑的執行效率最高。等級15所對應的執行路徑的執行效率最低。
2.等級1所對應的執行路徑就是通過ROWID來訪問單行資料。
3.等級15所對用的執行路徑是全表掃描。
4.在RBO的情況下,執行計劃一旦出了問題,很難調整。
5.SQL語句中涉及的表在SQL語句中的先後順序有可能影響RBO的執行計劃。
6.可以通過等價改寫SQL語句來調整RBO的執行計劃。
CBO(基於成本的優化器):它是基於成本的。這些成本的判斷資訊來至於SQL語句涉及的表,索引,列等相關物件的統計資訊計算出來的。從SQL 語句的執行路徑中選擇成本最小的條做為執行計劃。
1.基於CBO 的優化器受物件 的實際數量,資料分佈等情況的影響。
oracle優化器分RBO(基於規則的優化器)和CBO(基於成本的優化器)兩種型別。
優化器的目的是為了獲取SQL的最優執行計劃。
RBO(基於規則的優化器):oracle內建的一套規則。這個套規則是oracle硬編碼在oracle資料庫的程式碼中的。當SQL語句發給oracle伺服器,oracle優化器從SQL語句很多執行路徑中選擇一條執行計劃。
1.基於規則的優化器大致分為15個等級。等級1所對應的執行路徑的執行效率最高。等級15所對應的執行路徑的執行效率最低。
2.等級1所對應的執行路徑就是通過ROWID來訪問單行資料。
3.等級15所對用的執行路徑是全表掃描。
4.在RBO的情況下,執行計劃一旦出了問題,很難調整。
5.SQL語句中涉及的表在SQL語句中的先後順序有可能影響RBO的執行計劃。
6.可以通過等價改寫SQL語句來調整RBO的執行計劃。
CBO(基於成本的優化器):它是基於成本的。這些成本的判斷資訊來至於SQL語句涉及的表,索引,列等相關物件的統計資訊計算出來的。從SQL 語句的執行路徑中選擇成本最小的條做為執行計劃。
1.基於CBO 的優化器受物件 的實際數量,資料分佈等情況的影響。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12798004/viewspace-1462004/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Oracle】Oracle wrong result一則(優化器問題)Oracle優化
- Oracle優化的方法Oracle優化
- oracle優化Oracle優化
- oracle優化技巧Oracle優化
- oracle EM 優化Oracle優化
- oracle 效能優化Oracle優化
- Oracle效能優化-SQL優化(案例一)Oracle優化SQL
- Oracle效能優化-SQL優化(案例二)Oracle優化SQL
- Oracle效能優化-SQL優化(案例三)Oracle優化SQL
- Oracle效能優化-SQL優化(案例四)Oracle優化SQL
- 如何調優 Oracle SQL系列文章:查詢優化器介紹OracleSQL優化
- 使用資源管理器優化Oracle效能AQ優化Oracle
- Oracle in 查詢優化Oracle優化
- 【OPTIMIZATION】Oracle影響優化器選擇的相關技術Oracle優化
- 【DBMS_STATUS】Oracle控制優化器統計資訊的使用Oracle優化
- Oracle優化案例-使用with as優化Subquery Unnesting(七)Oracle優化
- Oracle優化案例-單表分頁語句的優化(八)Oracle優化
- Oracle 效能優化-expdp備份速度優化02Oracle優化
- Oracle 效能優化-expdp備份速度優化03Oracle優化
- Oracle優化案例-(三十四)Oracle優化
- Oracle優化案例-儲存過程的優化思路(二十三)Oracle優化儲存過程
- 一次Oracle優化所想到的Oracle優化
- 【STATS】Oracle匯入匯出優化器統計資訊Oracle優化
- ORACLE 12C 優化器的一些新特性總結(二)Oracle優化
- ORACLE 12C 優化器的一些新特性總結(一)Oracle優化
- Oracle優化案例-union代替or(九)Oracle優化
- oracle之優化一用group by或exists優化distinctOracle優化
- Oracle優化案例-正確的使用索引(二)Oracle優化索引
- Oracle SQL效能優化的40條軍規OracleSQL優化
- 優化器的發展程式優化
- Oracle SQL優化之sql tuning advisorOracleSQL優化
- Oracle效能優化方法論的發展之二:基於OWI的效能優化方法論Oracle優化
- Oracle優化案例-又見union代替or(二十)Oracle優化
- Oracle某行系統SQL優化案例(三)OracleSQL優化
- Oracle某行系統SQL優化(案例五)OracleSQL優化
- Oracle某行系統SQL優化案例(二)OracleSQL優化
- Oracle 某行系統SQL優化案例(一)OracleSQL優化
- Mysql優化系列之——優化器對子查詢的處理MySql優化
- MySQL查詢優化之優化器工作流程以及優化的執行計劃生成MySql優化