6-4 統計情報
オプティマイザと実行計画
DBMSがSQL文を受け取ってから、テーブルにアクセスするまで流れ⬇️
https://scrapbox.io/files/688c87de602482407845abdf.png
パーサ(parser)の役割は、構文チェック
オプティマイザ(optimizer)の役割は、実行計画(データを取得する経路)を決める
カタログマネージャの役割は、統計情報の管理
オプティマイザが実行計画を決める際に、統計情報を参照する
統計情報の設計指針
開発者が実行計画の立案に関与することはないため、統計情報を通して間接的に関わることになる
統計情報収集のタイミング
データが大きく更新(INSERT/UPDATE/DELETE)された後
夜間
DMBSによっては、初期設定で定期実施するようになっている
統計情報収集の対象(範囲)
対象は大きな更新のあったテーブルおよびインデックス
ただし一時テーブルの統計情報収集には注意が必要
詳細は8章で
統計情報の凍結について
統計情報収集を更新を行わないことが有効な場合もある
それは、現状のものから実行計画を変化させたくないとき
つまり現在使われているアクセス経路が、将来にわたっても最短ルートで、現状維持が最適だと分かっているとき