DBAtlas · データベース運用アトラス

統計を更新する

SQL Serverメンテナンス

コマンド

-- Single table, full scan:
UPDATE STATISTICS dbo.Customer WITH FULLSCAN;

-- Specific statistic, with sampling:
UPDATE STATISTICS dbo.Customer IX_Customer_Email WITH SAMPLE 30 PERCENT;

-- Bulk for the whole database (user tables), sampled:
EXEC sys.sp_updatestats;

概要

オプティマイザが使用する列 / インデックスの統計を更新し、正しい実行計画とカーディナリティ推定を確保する。

使用する場面

大量のデータ変更 / ロードの後、または実行計画の性能低下時に。インデックスの再構築では統計が完全に更新されるため、別途更新する必要はない。

注意

FULLSCAN は正確だがコストが高く、大きなテーブルでは I/O 負荷を生じる。sp_updatestats は変更された統計のみを更新し、デフォルトのサンプリングを使用する。インデックスの REBUILD 後に同じインデックスに対して UPDATE STATISTICS を再実行する必要はない。

DBAtlas で開く →

関連項目