オプティマイザは、SQLを受け付けると構文をチェックし、最適な実行計画を作成する機能をいいます。実行計画を作成する最適化アプローチとして、コストベースオプティマイザ(CBO)とルールベースオプティマイザ(RBO)があります。Oracle 10g より以前においてはルールベースオプティマイザとコストベースオプティマイザの2つのアプローチ方法がサポートされていましたが、Oracle 10gからはルールベースオプティマイザはサポートされなくなりました。現在使用されているコストベースオプティマイザ(CBO)は、ANALYZEコマンドにより得られた表や索引の統計情報をもとに、コスト(読込みブロック数、I/OやCPU使用量、実行時間など)が最も小さい実行計画を選択します。統計情報は、メンテナンスタスクを有効にすることで、Oracleが自動集計を実行します。
|