実行計画とは?じっこうけいかく
実行計画とは、1本のSQL文をDBMSが実際にどう処理するかを表した手順。どの索引を使うか、表をどの順に結合するか、結合方式に入れ子ループ・ソートマージ・ハッシュのどれを充てるかが木構造で示され、各段に推定行数とコストが付く。遅いSQLの原因はここを読むことで切り分けられる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
SQLは欲しい結果だけを書く非手続型の言語で、手順は文中のどこにも書かれていない。手順をDBMS側が決める以上、開発者が性能を扱うには、決まった手順を後から覗く窓が要る。実行計画はそのために用意された窓であり、DB試験では索引の追加やSQLの書換えが計画をどう変えるかを説明させる形で問われる。
具体例
PostgreSQLでEXPLAIN ANALYZEを付けて受注検索を流すと、当てにしていた受注日索引が使われずSeq Scanになっていることが見える。推定行数と実測行数が2桁ずれていれば、直すべきはSQLではなく陳腐化した統計情報だと判断できる。
試験での引っ掛け
計画に並ぶ行数やコストは推定値であり実測ではない。推定と実測が食い違ったままの計画を「最適」と読むのが典型的な誤り。またSQLを1文字も変えていなくても、統計の再収集やデータ量の変化で計画は入れ替わる——一度確認したら固定される性質のものではない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。