実行計画とクエリオプティマイザとは?
実行計画とクエリオプティマイザとは、SQLは「何が欲しいか」だけを書く非手続き型なので、どの索引を使い、どの順で表を結合し、どの結合方式を取るかはDBMSのオプティマイザが決める。その決定結果が実行計画で、EXPLAIN等のコマンドで確認できる。計画は行数や値の分布を持つ統計情報にもとづくコスト比較で選ばれる。
情報処理安全確保支援士試験の過去問では1回出題されています。
じっこうけいかくとくえりおぷてぃまいざ
実行計画とクエリオプティマイザの意味
SQLは「何が欲しいか」だけを書く非手続き型なので、どの索引を使い、どの順で表を結合し、どの結合方式を取るかはDBMSのオプティマイザが決める。その決定結果が実行計画で、EXPLAIN等のコマンドで確認できる。計画は行数や値の分布を持つ統計情報にもとづくコスト比較で選ばれる。
実行計画とクエリオプティマイザの具体例
EXPLAINで計画を見て「全表走査」が出ていれば索引の欠落や条件の書き方を疑う。大量データを投入した直後は統計情報が古く、DBMSが実際は100万行の表を100行と見積もって不適切な結合方式を選ぶため、統計情報を再収集して直す。
実行計画とクエリオプティマイザは試験でどう引っ掛けられる?
SQLの書き方(副問い合わせか結合か)を変えても、オプティマイザが同じ計画に書き換えることは多い。逆に、統計情報が古いだけで急に性能劣化することもある。SQLを疑う前に統計情報と計画を確認する順序が問われる。また開発環境で速くても、本番のデータ量と分布では計画そのものが変わる点も見落としやすい。
実行計画とクエリオプティマイザが出た過去問
DBMSのデータディクショナリはどれか。
正解:データベースに関するユーザー情報、データ構造など、データベース管理情報を格納したもの
要点:データディクショナリはDBのスキーマや権限などの管理情報
データディクショナリは、データベースに存在する表や列、索引、制約といったスキーマ情報や、利用者と権限などの管理情報を格納した領域である。DBMS自身がこれを参照して構文の妥当性検査やアクセス権の確認、実行計画の作成を行うため、いわばデータベースについてのデータを集めたものといえる。多くの製品では、利用者がシステム表やビューを通じて参照できる形で提供される。
出典:令和5年度 秋期 情報処理安全確保支援士試験 am2 問21(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。