統計情報とは?とうけいじょうほう
統計情報とは、表の行数、列の異なり値数、値の分布を表すヒストグラム、索引の高さなど、オプティマイザが実行計画のコストを見積もるために参照する要約データ。実データそのものではないため、大量の投入や削除があっても収集し直すまで内容は古いままで、そのあいだは古い前提の実行計画が選ばれ続ける。
最終更新:2026-10-06
この語が出る過去問を解く →背景
同じSQLでも、対象が10行の表か1,000万行の表かで、索引を使うべきか全件走査すべきかは逆転する。かといって毎回実データを数えていては、見積りのほうが問合せより重くなる。統計情報は見積りを安く済ませるために要約を先に持っておく仕組みで、応用情報ではSQLが突然遅くなる原因の説明として問われる。
具体例
OracleではDBMS_STATS、PostgreSQLではANALYZEで収集し、夜間バッチで大量投入した翌朝に再収集する運用が一般的である。移行直後に本番と同じSQLだけが遅いという症状が出た場合、まず統計情報が未収集でないかを確認するのが定石になっている。
試験での引っ掛け
「データを入れれば実行計画が自動的に最適化される」は誤りで、収集し直すまで見積りの前提は変わらない。逆に、値の偏りが大きい列は異なり値数だけでは選択率を読み違えるため、ヒストグラムが必要になる。索引を作成しても統計が古いままでは使われないことがある点も押さえる。
関連用語
出た過去問
出典:令和3年度 春期 応用情報技術者試験 午前 問30(IPA)
コストベースのオプティマイザがSQLの実行計画を作成する際に必要なものはどれか。
正解:統計情報
要点:コストベース最適化は統計情報から実行計画を選ぶ
コストベースオプティマイザは、表の行数や列値の分布、索引の状態といった統計情報をもとに各実行計画の処理コストを見積もり、最も低コストな計画を選ぶ。統計情報が古いと実態と乖離した計画が選ばれるため、定期的な収集・更新が必要である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。