sys.stats (Transact-SQL)
SQL Server のデータベース内のテーブル、インデックス、およびインデックス付きビューに対して存在する統計オブジェクトごとに 1 行のデータを格納します。 すべてのインデックスに、名前と ID が同じ (index_id = stats_id) である、対応する統計の行がありますが、すべての統計の行に、対応するインデックスがあるわけではありません。
カタログ ビューの sys.stats_columns は、データベース内の各列の統計情報を提供します。 統計の詳細については、「統計」を参照してください。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで) |
列名 |
データ型 |
説明 |
|
---|---|---|---|
object_id |
int |
統計が属するオブジェクトの ID です。 |
|
name |
sysname |
統計の名前です。 オブジェクト内で一意です。 |
|
stats_id |
int |
統計の ID です。 オブジェクト内で一意です。 |
|
auto_created |
bit |
統計が SQL Server によって自動的に作成されたかどうかを示します。 0 = 統計は SQL Server によって自動的に作成されませんでした。 1 = 統計は SQL Server によって自動的に作成されました。 |
|
user_created |
bit |
統計がユーザーによって作成されたかどうかを示します。 0 = 統計はユーザーによって作成されませんでした。 1 = 統計はユーザーによって作成されました。 |
|
no_recompute |
bit |
統計が NORECOMPUTE オプションを使って作成されたかどうかを示します。 0 = 統計は NORECOMPUTE オプションを使って作成されませんでした。 1 = 統計は NORECOMPUTE オプションを使って作成されました。 |
|
has_filter |
bit |
0 = 統計にフィルターがなく、すべての行について計算されます。 1 = 統計にフィルターがあり、フィルター定義を満たす行についてのみ計算されます。 |
|
filter_definition |
nvarchar(max) |
フィルター選択された統計情報に含まれる行のサブセットの式です。 NULL = フィルター選択されていない統計情報です。 |
|
is_temporary |
bit |
統計情報が一時的なものであるかどうかを示します。 一時的な統計は、読み取り専用アクセスが有効な AlwaysOn 可用性グループ セカンダリ データベースをサポートしています。 0 = 統計情報が一時的ではありません。 1 = 統計情報が一時的です。
|
|
is_incremental |
bit |
統計が増分統計として作成されているかどうかを示します。 0 = 統計は増分統計ではありません。 1 = 統計は増分統計です。
|
権限
カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。詳細については、「メタデータ表示の構成」を参照してください。
使用例
次の例では、HumanResources.Employee テーブルのすべての統計情報および統計情報列を返します。
USE AdventureWorks2012;
GO
SELECT s.name AS statistics_name
,c.name AS column_name
,sc.stats_column_id
FROM sys.stats AS s
INNER JOIN sys.stats_columns AS sc
ON s.object_id = sc.object_id AND s.stats_id = sc.stats_id
INNER JOIN sys.columns AS c
ON sc.object_id = c.object_id AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');
関連項目
参照
オブジェクト カタログ ビュー (Transact-SQL)