SQL效能的度量 - CBO最佳化方式
一條查詢語句的處理包括語法分析、語句最佳化和查詢執行三個階段。在語句最佳化階段,Oracle預設使用基於成本的最佳化器(CBO,cost based optimizer)來選擇最好的執行計劃,這個最好的標準就是消耗的系統資源如CPU以及I/O資源最少。
基於CBO的最佳化器有三種最佳化方式來滿足不同的查詢需求,即all_rows、first_rows_n、first_rows。
all_rows:Oracle的預設方式,最佳化目標是實現查詢的最大吞吐量。
first_rows_n:最佳化輸出查詢的前n行資料,滿足快速響應的查詢需求。
first_rows:first_rows方式的老版本,儘快輸出查詢的前幾行資料。
Oracle提供在不同級別上的最佳化,即例項級、會話級和語句級。查詢當前資料庫的CBO最佳化方式
show parameter optimizer_mode;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string ALL_ROWS
在例項級設定CBO最佳化方式
alter system set optimizer_mode = first_rows_10;
在會話級設定CBO最佳化方式
alter session set optimizer_mode = all_rows;
在語句級設定CBO最佳化方式,需要使用hint提示
select /*+first_rows_10*/ ename, sal, mgr from scott.emp;
最佳化器的工作過程包括根據統計資料進行SQL轉換、根據資源消耗情況選擇訪問路徑、根據統計資料選擇連線方法以及確定連線次序幾個步驟,最後選擇一個最好的執行計劃。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2150142/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle的最佳化器的RBO和CBO方式Oracle
- 【SQL 效能最佳化】表的三種連線方式SQL
- SQL效能的度量 - 語句級別的SQL跟蹤autotraceSQL
- SQL效能的度量 - 會話級別的SQL跟蹤sql_traceSQL會話
- SQL效能的度量 - 利用Hints和dbms_sqltune進行SQL監控SQL
- SQL效能的度量 - 利用10046事件擴充套件SQL跟蹤SQL事件套件
- sql最佳化的幾種方式SQL
- SQL效能的度量 - 透過v$sql_plan查詢執行計劃SQL
- Oracle SQL效能最佳化OracleSQL
- Oracle sql 效能最佳化OracleSQL
- 機器學習之常見的效能度量機器學習
- 效能調優——SQL最佳化SQL
- SQL效能最佳化之索引最佳化法SQL索引
- 效能最佳化之SQL語句最佳化SQL
- Oracle效能最佳化之SQL最佳化(轉)OracleSQL
- 【慢SQL效能最佳化】 一條SQL的生命週期SQL
- 度量Web效能的關鍵指標Web指標
- 聊聊效能度量的作弊經濟學
- Oracle SQL效能最佳化常用方法OracleSQL
- Oracle最佳化器(RBO與CBO)Oracle
- Oracle "腦殘" CBO 最佳化案例Oracle
- Oracle優化器的RBO和CBO方式Oracle優化
- Oracle的優化器的RBO和CBO方式Oracle優化
- SQL最佳化案例-改變那些CBO無能為力的執行計劃(一)SQL
- SQL效能的度量 - 透過explain和dbms_xplan包分析執行計劃SQLAI
- 詳介oracle的RBO/CBO最佳化器 - 轉Oracle
- 機器學習中的效能度量指標彙總機器學習指標
- oracle SQL效能最佳化大總結OracleSQL
- ORACLE SQL效能最佳化系列 (十) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (十一) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (一) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (二) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (三) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (四) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (九) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (五) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (八) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (六) (轉)OracleSQL