The Dragon Scroll

Be just and fear not.

10gがもたらす福音(14)〜自動オプティマイザ統計収集。

10gではデフォルト、コストベース。ルールベースは今後サポートされなくなる(はず)。

表の監視

STATISTICS_LEVEL=TYPICALまたはALLの場合有効。
監視は、DBの停止時や15分に1度行われている。
監視結果は、DBMA_TAB_MODIFICATIONSビューを確認すること。
(9iで使用していていた ALTER TABLE…MONITORINGは不要になった)

GATHER_STATS_JOB

DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROCプロシージャを実行する。

  • 失効した統計情報の収集
  • 欠落した統計情報の収集

以下のウィンドウを使用する。

WEEKNIGHT_WINDOW

月曜から金曜日まで、毎日。午後10時から午前6時の間。

WEEKEND_WINDOW

土曜の午前12時から月曜の午前12時。

動的サンプリング

コスト計算のための情報を収集する。
例えば、表を作成した直後は、統計情報が存在しないが、この機能によって
それをカバーする。タイミングは、統計が欠落・失効している状態で
アクセスした時である。OPTIMIZER_DYNAMIC_SAMPLINGパラメータを使用する。

OPTIMIZER_DYNAMIC_SAMPLING

=0
 サンプリングしない。
=1
 ある条件にあてはまるもののみサンプリングする。
 (索引がない表、分析がまだされていない表)
=2
 デフォルト。全ての分析されていない表をサンプリングする。