SQLServer2008の統計情報はデフォルトでは自動で取得される。
統計情報の自動取得の設定はデータベースの「プロパティ」→「オプション」→「統計情報の自動更新」で確認することができる。
なお、テーブルごとに参照、設定したい場合はsp_autostatsを使用するとよい。
テーブルの約20%に相当するデータが更新されるとそのデータの統計は自動更新の対象となる。
統計情報の取得状況を確認するSQLは以下の通り
SELECT obj.name as オブジェクト名 , sts.name as 統計情報名 , sts.auto_created as 自動的に統計情報を取得 , sts.user_created as ユーザが統計情報を取得 , STATS_DATE(sts.object_id, sts.stats_id) as 最終更新日 FROM sys.objects AS obj LEFT JOIN sys.stats AS sts ON sts.object_id = obj.object_id WHERE type = 'U' ORDER BY obj.name
動作確認環境:SQL Server 2008