統計情報収集

 うちの会社の運用しているシステムは、ほぼルールベースオプティマイザで
動いている。というか全部?仕事でコストベースさわったことない。。
だから、この機会に統計情報収集の方法を理解し解きます。

ANALYZEコマンド

これは知ってた。けど2パターンあるのは知らなかった。

  • COMPUTE - 全表走査を行い、正確な統計を収集。時間かかる。
  • ESTIMATE - 指定した件数のみでサンプリング。上よりは早い。

ヒストグラム

各カラムの値にばらつきがあある場合は、統計情報の収集だけでは
うまく判断してくれない。そこで、ヒストグラム統計を収集する必要がある。ANALYZEコマンドにオプションとして、

「FOR COLUMNS カラム名 SIZE バケット数」を指定。

インデックスを使うか否かの判定に使うので、
収集するのは値がばらついてそうな、インデックスが張ってるカラムだけでいい。