【效能優化】CBO優化器兩個內建的假設

楊奇龍發表於2010-08-26

這兩個假設分別是:
1 一次單塊讀的成本與一次多塊讀的成本一樣!
2 一次塊訪問就是一次物理磁碟讀!

 
   值得高興的我們可以通過多個引數以一種相當切合實際的方式來修正這些假設.

     Optimizer_index_cost_adj的值範圍為1到10000,預設為100.實際上,這個引數描述的是,相對於一次多塊讀來講,一次單塊讀有多麼便宜.如果它的值為30,也就是高速Oracle一次單塊讀的成本是一次多塊讀的成本的30%. 從而Oracle就會因此這個引數的值很小而更多的傾向於選擇使用索引訪問.


     Optimizer_index_caching的值訪問為0到100,預設為0.這個引數告訴Oracle,假定索引塊將在Buffer Cache中存在百分比.在這個例子中,將這個值設定為接近100的值將助長使用索引而不是表掃描.
      我們可以將他們設定成”符合實際”的值.  optimizer_index_caching設定成”buffer cache hit ratio”範圍內的一個值---你需要自己決定具體是按照default pool,keep pool還是這兩個的某種組合來得到這個數值.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-671955/,如需轉載,請註明出處,否則將追究法律責任。

相關文章