応用情報技術者 2013年 秋期 午前2 問28
問題文
RDBMSのコストベースのオプティマイザの機能の説明として、適切なものはどれか。
選択肢
ア:RDBMS が収集した統計情報を基に予測した実行計画を比較して、 アクセスパスを選択する。(正解)
イ:アプリケーションプログラムの動きを基に予測したアプリケーション全体の実行計画を比較して、 アクセスパスを選択する。
ウ:インデックスが定義された列では、必ずいずれかのインデックスを用いたアクセスパスを選択する。
エ:複数のアクセスパスが使用可能な場合は、ルールの優先度が上位のアクセスパスを選択する。
RDBMSのコストベースのオプティマイザの機能の説明【午前2 解説】
要点まとめ
- 結論:コストベースのオプティマイザは統計情報を基に複数の実行計画のコストを比較し、最適なアクセスパスを選択します。
- 根拠:RDBMSはテーブルの行数やインデックスの分布などの統計情報を収集し、これを元に実行計画のコストを予測します。
- 差がつくポイント:ルールベースではなくコストベースで選択する点、アプリケーションの動きや単純な優先度ではなく統計情報に基づく点を理解することが重要です。
正解の理由
ア: RDBMS が収集した統計情報を基に予測した実行計画を比較して、アクセスパスを選択する。
コストベースのオプティマイザは、テーブルの行数やインデックスの有無、データ分布などの統計情報を利用して、複数の実行計画のコスト(CPU時間やI/O回数など)を計算し、最も効率的なアクセスパスを選択します。これにより、実行時間の短縮やリソースの節約が可能です。
コストベースのオプティマイザは、テーブルの行数やインデックスの有無、データ分布などの統計情報を利用して、複数の実行計画のコスト(CPU時間やI/O回数など)を計算し、最も効率的なアクセスパスを選択します。これにより、実行時間の短縮やリソースの節約が可能です。
よくある誤解
- アプリケーションの動きを基にアクセスパスを選ぶわけではありません。
- インデックスがあっても必ず使うとは限らず、コストが高ければフルスキャンを選ぶこともあります。
- ルールベースの優先度で決めるのはコストベースオプティマイザではありません。
解法ステップ
- 問題文の「コストベースのオプティマイザ」に注目する。
- コストベースの特徴は「統計情報を使い実行計画のコストを比較する」ことを思い出す。
- 選択肢を見て、統計情報や実行計画の比較に関する記述を探す。
- アプリケーションの動きやルール優先度はコストベースの特徴ではないため除外。
- インデックスの有無だけで決める選択肢も誤り。
- 統計情報を基に実行計画を比較するアが正解と判断する。
選択肢別の誤答解説
- イ: アプリケーションの動きを基にするのはコストベースのオプティマイザの機能ではなく、実行計画の比較も行いません。
- ウ: インデックスがあっても必ず使うわけではなく、コストが高ければフルテーブルスキャンを選ぶこともあります。
- エ: ルールベースのオプティマイザの特徴であり、コストベースでは統計情報に基づくコスト比較が優先されます。
補足コラム
コストベースオプティマイザ(CBO)は、RDBMSのパフォーマンス向上に不可欠な機能です。統計情報の精度が高いほど、より適切な実行計画が選択されます。統計情報は定期的に収集・更新する必要があり、これを怠ると最適なアクセスパスが選ばれず性能低下の原因となります。
FAQ
Q: コストベースオプティマイザはどのような統計情報を使いますか?
A: テーブルの行数、カラムのデータ分布、インデックスの有無や種類、ヒストグラムなどを利用します。
A: テーブルの行数、カラムのデータ分布、インデックスの有無や種類、ヒストグラムなどを利用します。
Q: ルールベースオプティマイザとコストベースオプティマイザの違いは何ですか?
A: ルールベースは固定の優先順位でアクセスパスを決定し、コストベースは統計情報を元に実行計画のコストを比較して最適なものを選びます。
A: ルールベースは固定の優先順位でアクセスパスを決定し、コストベースは統計情報を元に実行計画のコストを比較して最適なものを選びます。
関連キーワード: コストベースオプティマイザ、実行計画、統計情報、アクセスパス、RDBMS

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

