sp_updatestats (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL データベース

UPDATE STATISTICS現在のデータベース内のすべてのユーザー定義テーブルと内部テーブルに対して実行します。

の詳細について UPDATE STATISTICS は、「 UPDATE STATISTICS (Transact SQL)」を参照してください。 統計の詳細については、「統計」を参照してください。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

sp_updatestats [ [ @resample = ] 'resample']  

リターン コードの値

0 (成功) または 1 (失敗)

引数

[ @resample = ] 'resample'Sp_updatestats で、 UPDATE STATISTICSステートメントのリサンプリングオプションを使用することを指定します。 ' リサンプリング ' が指定されていない場合、 sp_updatestats は既定のサンプリングを使用して統計を更新します。 リサンプリングvarchar (8) で、既定値は NO です。

解説

sp_updatestats は、 UPDATE STATISTICS キーワードを指定することによって、 ALL データベース内のすべてのユーザー定義テーブルと内部テーブルに対して実行します。 sp_updatestats の進行状況を示すメッセージが表示されます。 更新が完了すると、すべてのテーブルの統計が更新されたことが報告されます。

無効な非クラスター化インデックスの統計を更新し、無効になっているクラスター化インデックスの統計を更新しません。 sp_updatestats

ディスクベーステーブルの場合、 sp_updatestats は、 sys.dm_db_stats_properties カタログビューの modification_counter 情報に基づいて統計を更新し、少なくとも1つの行が変更されている統計を更新します。 メモリ最適化テーブルの統計は、 sp_updatestats の実行時に常に更新されます。 そのため、 sp_updatestats は必要以上に実行しないでください。

sp_updatestats は、ストアドプロシージャまたはその他のコンパイル済みコードの再コンパイルをトリガーできます。 ただし、参照されるテーブルとそのインデックスに対してクエリプランが1つしか使用できない場合、 sp_updatestats は再コンパイルを発生させない可能性があります。 このような場合は、統計が更新されても再コンパイルの必要はありません。

互換性レベルが90未満のデータベースの場合、 sp_updatestats を実行しても、特定の統計の最新の NORECOMPUTE 設定は保持されません。 互換性レベルが90以上のデータベースの場合、sp_updatestats は特定の統計の最新の NORECOMPUTE オプションを保持します。 統計の更新の無効化および再有効化について詳しくは、「統計」をご覧ください。

アクセス許可

Sp_updatestats を実行するには、ユーザーがデータベースの所有者 ( dbo ロールのメンバーではない) である db_owner か、sysadmin 固定サーバーロールのメンバーである必要があります。

次の例では、データベース内のテーブルの統計を更新し AdventureWorks2012 ます。

USE AdventureWorks2012;  
GO  
EXEC sp_updatestats;   

インデックスと統計の自動管理

Adaptive Index Defrag のようなソリューションを活用し、1 つまたは複数のデータベースに対するインデックスの最適化と統計更新を自動管理します。 このプロシージャでは、断片化レベルやその他のパラメーターに基づいてインデックスを再構築または再構成するか、線形しきい値で統計を更新するかが自動的に選択されます。

参照

ALTER DATABASE SET オプション (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
sp_autostats (Transact-SQL)
sp_createstats (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
システムストアドプロシージャ