SQL計画管理について データベースコンサルタントのノウハウちょい見せ
SQL計画管理について2 データベースコンサルタントのノウハウちょい見せ
を読んで、Oracle 11g の新機能「SQL計画管理」のメリットが何か考えてみた。前提として、統計情報を自動収集して実行計画を固定しない場合は必要ない機能で、実行計画を固定したい場合にメリットがあると思う。
統計情報の自動収集をしないことで実行計画を固定する場合、以下のデメリットがある。
- 特定のSQLをチューニングするために統計情報を更新した場合、他のSQLの実行計画も変わる可能性があり、影響範囲を調べる必要がある。
- 特定のSQLをチューニングするためにインデックスを追加した場合も、同様。
- 手動で統計情報を収集しないといけない。
これに対して、「SQL計画管理」を使った場合、
- 統計情報を自動収集しつつ、実行計画を固定できる。
- 特定のSQLの実行計画のみ変更できる。
- 手動で統計情報を収集しなくてよい。
となり、運用コストが減りそう。