Tuesday, November 17, 2009

オラクル性能に対する短い考え#14

初期化パラメータのデフォルト値一つ一つには哲学が入っている。


オラクルほど初期化パラメータ(Initialization Parameter)を利用して多様な制御が可能なスフトも少ないんです。特に隠しパラメータと呼ばれるものたちは本当に細かいものまで制御できるようになっています。初めてはこんな多きパラメータたちが不慣れで面倒くさく感じられるかも知れませんが、オラクルを使用する時間が増えるほどありがたく感じるようになります。それだけ自由を許すと言う意味だからです。


ここのパラメータは固有の目的を持っています。多くのパラメータがデフォルト値(Default Value)を持っています。デフォルト値は当然にそのパラメータの固有の目的を一番よく果たすように設定されます。あるパラメータはデフォルト値が間違い設定されて私たちを困らせるようにします。オラクル開発チームが現実を誤解したはずです。デフォルト値が意味することを正確に理解したらそれだけオラクルの性能に対する理解が深まります。


例をあげてみましょうか。


  • なぜOPTIMIZER_MODEのデフォルト値はALL_ROWSなのか。
  • なぜ_OPTIM_PEEK_USER_BINDSのデフォルト値はTRUEなのか。
  • なぜOPTIMIZER_DYNAMIC_SAMPLINGのデフォルト値は2なのか。
  • なぜDB_BLOCK_SIZEは8KBなのか。

No comments:

Post a Comment