応用情報技術者試験 令和3年春 午前問30 解説付き過去問
問題
コストベースのオプティマイザがSQLの実行計画を作成する際に必要なものはどれか。
正解
解説
この問題は、コストベースのオプティマイザがSQLの実行計画を作成するために必要な要素について問うものです。
- コストベース・オプティマイザの定義
コストベースのオプティマイザは、データベース内の各種操作にかかるコストを推定し、最も効率的な実行計画を選択するためのシステムです。このコスト計算には、実行時間、I/Oの回数、使用するメモリ量などが考慮されます。 - 統計情報とは
統計情報には、テーブルの行数、列の値の分布、インデックスの情報等が含まれます。これらの情報は、コストベースのオプティマイザが各種クエリの実行コストを推定する際に不可欠です。オプティマイザはこれらの統計情報を用いて、どのインデックスが効果的か、テーブルの結合順序はどうあるべきかなど、最適な実行計画を策定します。 - 他の選択肢の検討
ディメンジョンテーブルや待ちグラフ、ログファイルもデータベース管理には重要ですが、コストベースのオプティマイザが実行計画を立てる際の直接的な情報源としては不適切です。これらは、それぞれデータウェアハウスの構造化、並行性の管理、およびシステムの監視やデバッグに利用される情報であり、実行計画の最適化には直接関与しません。
したがって、コストベースのオプティマイザがSQLの実行計画を作成するために最も必要とされるのは「統計情報」です。この情報を基に最適なクエリパスが選ばれるため、実行計画の効率が大きく向上します。