オプティマイザ(Optimizer)とは、「最適化するもの」という意味であり、この場合は、SQL文の処理を最適化する機能である。
SQL文に対する結果は1つであっても、RDBMSの内部ではインデックスの使用有無、結合の順番などの組み合わせからいくつかの実行方法が考えられる。
オプティマイザは、SQL文を処理するために考えられる実行計画を全て検証して、最も効率が良いと予想される実行計画の決定を行う。
さらに最適な実行方法を決める基準には、アクセスパスに対して付けられた優先順位をもとに選択する「ルールベース」や、アクセスする表やインデックスの統計情報を基に見積もられたコストをもとに選択する「コストベース」の2種類がある。
SQL文に対する結果は1つであっても、RDBMSの内部ではインデックスの使用有無、結合の順番などの組み合わせからいくつかの実行方法が考えられる。
オプティマイザは、SQL文を処理するために考えられる実行計画を全て検証して、最も効率が良いと予想される実行計画の決定を行う。
さらに最適な実行方法を決める基準には、アクセスパスに対して付けられた優先順位をもとに選択する「ルールベース」や、アクセスする表やインデックスの統計情報を基に見積もられたコストをもとに選択する「コストベース」の2種類がある。