応用情報技術者 2021年 春期 午前2 問30
問題文
コストベースのオプティマイザが SQLの実行計画を作成する際に必要なものはどれか。
選択肢
ア:ディメンジョンテーブル
イ:統計情報(正解)
ウ:待ちグラフ
エ:ログファイル
コストベースのオプティマイザが SQLの実行計画を作成する際に必要なもの【午前2 解説】
要点まとめ
- 結論:コストベースのオプティマイザはSQL実行計画作成に統計情報を必要とします。
- 根拠:統計情報はテーブルの行数やデータ分布などを示し、最適なアクセス経路を判断する材料となるためです。
- 差がつくポイント:統計情報の有無や精度が実行計画の効率性に直結し、パフォーマンスに大きな影響を与えます。
正解の理由
コストベースのオプティマイザは、SQL文の実行計画を作成する際に、テーブルの行数やインデックスの有無、データの分布などの統計情報を利用して、各アクセス方法のコスト(処理時間やI/O量)を計算します。これにより、最も効率的な実行計画を選択できるため、正解はイ: 統計情報です。
よくある誤解
統計情報は単なるログや待ちグラフとは異なり、実行計画のコスト計算に直接使われるため、ログファイルや待ちグラフではありません。
解法ステップ
- コストベースオプティマイザの役割を理解する(最適な実行計画の選択)。
- 実行計画作成に必要な情報を考える(テーブルの状態やデータ特性)。
- 統計情報がテーブルの行数やデータ分布を示すことを確認。
- 他の選択肢(ディメンジョンテーブル、待ちグラフ、ログファイル)が実行計画作成に直接関係しないことを判断。
- 統計情報を選択肢として選ぶ。
選択肢別の誤答解説
- ア: ディメンジョンテーブル
ディメンジョンテーブルはデータウェアハウスの概念であり、実行計画作成に直接関係しません。 - イ: 統計情報
正解。実行計画のコスト計算に必要なデータ特性を示します。 - ウ: 待ちグラフ
待ちグラフはデッドロック検出などに使われ、実行計画作成には不要です。 - エ: ログファイル
ログファイルは実行履歴の記録であり、実行計画の生成には使われません。
補足コラム
コストベースオプティマイザは、統計情報をもとに複数の実行計画候補のコストを計算し、最も低コストの計画を選択します。統計情報が古いと誤った計画を選ぶことがあるため、定期的な統計情報の更新が重要です。
FAQ
Q: 統計情報はどのように収集されますか?
A: データベース管理システムがANALYZEコマンドなどを使い、テーブルの行数やカラムの分布を収集します。
A: データベース管理システムがANALYZEコマンドなどを使い、テーブルの行数やカラムの分布を収集します。
Q: 統計情報がないとどうなりますか?
A: オプティマイザは推定が困難になり、非効率な実行計画を選択する可能性が高まります。
A: オプティマイザは推定が困難になり、非効率な実行計画を選択する可能性が高まります。
関連キーワード: コストベースオプティマイザ、SQL実行計画、統計情報、データベース最適化、実行計画コスト

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

