Oracle SQL性能優化系列講座之一
關鍵字:優化 1. 選用適合的ORACLE優化器 ORACLE的優化器共有3種: a. RULE (基于規則) b. COST (基于成本) c. CHOOSE (選擇性) 設置缺省的優化器,可以通過對init.ora文件中OPTI MI ZER_MODE參數的各種聲明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你當然
關鍵字:優化
1. 選用適合的ORACLE優化器
ORACLE的優化器共有3種:
a. RULE (基于規則) b. COST (基于成本) c. CHOOSE (選擇性)
設置缺省的優化器,可以通過對init.ora文件中OPTI
MIZER_MODE參數的各種聲明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你當然也在
SQL句級或是會話(session)級對其進行覆蓋.
為了使用基于成本的優化器(CBO, Cost-Based Optimizer) , 你必須經常運行analyze 命令,以增加
數據庫中的對象統計信息(object statistics)的準確性.
如果數據庫的優化器模式設置為選擇性(CHOOSE),那么實際的優化器模式將和是否運行過analyze命令有關. 如果table已經被analyze過, 優化器模式將自動成為CBO , 反之,數據庫將采用RULE形式的優化器.
在缺省情況下,ORACLE采用CHOOSE優化器, 為了避免那些不必要的全表掃描(full table scan) , 你必須盡量避免使用CHOOSE優化器,而直接采用基于規則或者基于成本的優化器.
2. 訪問Table的方式
原文轉自:http://www.anti-gravitydesign.com