応用情報暗記無料で始める

実行計画とクエリオプティマイザとは?じっこうけいかくとくえりおぷてぃまいざ

実行計画とクエリオプティマイザとは、結合の順序や索引の使い方を利用者が書かないSQLに対して、DBMSの内部で手順を決める仕組みと、その決定結果を指す。統計情報が持つ行数や値の分布からコストを見積もって最も安い手順を選ぶ役がオプティマイザ、選ばれた手順の中身が実行計画で、EXPLAINなどのコマンドで取り出せる。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では1回出題されています。

応用情報技術者試験の頻出用語/テクノロジ系

別名:実行計画とクエリチューニング、実行計画、クエリオプティマイザ、クエリチューニング、EXPLAIN

この語が出る過去問を解く →

背景

手順を書かせない代わりに最適化を処理系へ任せる、というのが関係データベースが選んだ取引である。おかげで利用者は結合の順序を考えずに済むが、同じSQLでもデータ量や分布が変われば最良の手順は変わるため、判断材料が古ければ誤った選択が起きる。性能問題の原因が文の書き方ではなく統計情報の側にあり得るのは、この委任の構造から来ている。

具体例

PostgreSQLではEXPLAIN ANALYZEで見積り行数と実測行数を並べて確認でき、両者が桁で食い違えば統計情報の陳腐化を疑ってANALYZEで再収集する。大量データを投入した直後は、実際は100万行の表を100行と見積もったまま不適切な結合方式が選ばれることがある。

試験での引っ掛け

SQLの書き方を変えれば計画が変わると決めつけるのは誤りで、副問合せと結合のように書き分けてもオプティマイザが同じ計画へ書き換えることは多い。逆に、文をまったく変えていないのに統計情報が古いだけで急に遅くなることもある。原因を切り分ける順序として、文を疑う前に統計情報と実行計画を確認する。開発環境で速くても、本番のデータ量と分布では計画そのものが変わる点も見落としやすい。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • SQLの書き方を変えれば計画が変わると決めつけるのは誤りで、副問合せと結合のように書き分けてもオプティマイザが同じ計画へ書き換えることは多い。