DBCC SHOW_STATISTICS (Transact-SQL)
更新 : 2005 年 12 月 5 日
指定されたテーブルの指定された対象に関する現在の分布統計を表示します。
重要 : |
---|
この機能は以前のバージョンの SQL Server から変更されました。詳細については、「SQL Server 2005 におけるデータベース エンジン機能の動作の変更」を参照してください。 |
構文
DBCC SHOW_STATISTICS ( table_name | view_name , target )
[ WITH [ NO_INFOMSGS ] < option > [ , n ] ]
< option > :: =
STAT_HEADER | DENSITY_VECTOR | HISTOGRAM
引数
- table_name | view_name**
統計情報を表示するテーブルまたはインデックス付きビューの名前を指定します。テーブル名とビュー名は、識別子の規則に従っている必要があります。
- target
統計情報を表示するオブジェクトの名前 (インデックス名、統計名、または列名) を指定します。ターゲット名は、識別子の規則に従っている必要があります。target がテーブルの既存のインデックスまたは統計の名前である場合は、その target に関する統計情報が返されます。target が既存の列の名前であり、自動的に作成された統計がその列にある場合は、その自動作成された統計に関する情報が返されます。
- NO_INFOMSGS
重大度レベル 0 ~ 10 のすべての情報メッセージを表示しないようにします。
- STAT_HEADER | DENSITY_VECTOR | HISTOGRAM [ **,**n ]
これらのオプションを 1 つ以上指定すると、ステートメントによって返される結果セットがオプションに合わせて制限されます。オプションを指定しないと、すべての統計情報が返されます。
結果セット
次の表は、STAT_HEADER を指定した場合に結果セットに返される列を示しています。
列名 | 説明 |
---|---|
Name |
統計の名前。 |
Updated |
統計情報が最後に更新された日付と時刻。 |
Rows |
テーブルに含まれる行数。 |
Rows Sampled |
統計情報を取得ときにサンプリングされた行数。 |
Steps |
分布ステップ数。 |
Density |
EQ_ROWS を除く最初のインデックス列プレフィックスの選択度。HISTOGRAM オプションの結果セットに関する説明を参照してください。 |
Average key length |
すべてのインデックス列の平均の長さ。 |
String Index |
Yes の場合は、統計に文字列の概要のインデックスが含まれています。これにより、LIKE 条件に関する結果セットのサイズを予測できます。char、varchar、nchar、nvarchar、varchar(max)、nvarchar(max)、text、および ntext の各データ型の先頭列にのみ適用されます。 |
次の表は、DENSITY_VECTOR を指定した場合に結果セットに返される列を示しています。
列名 | 説明 |
---|---|
All density |
EQ_ROWS を含む一連のインデックス列プレフィックスの選択度。HISTOGRAM オプションの結果セットに関する説明を参照してください。 |
Average length |
一連のインデックス列プレフィックスの平均の長さ |
Columns |
All density および Average length を表示するインデックス列プレフィックスの名前 |
次の表は、HISTOGRAM オプションを指定した場合に結果セットに返される列を示しています。
列名 | 説明 |
---|---|
RANGE_HI_KEY |
ヒストグラム区間の上限値 |
RANGE_ROWS |
ヒストグラム区間内にある上限未満のテーブルの予測行数 |
EQ_ROWS |
ヒストグラム区間の上限と、値において等しいテーブルの予測行数 |
DISTINCT_RANGE_ROWS |
ヒストグラム区間内にある上限未満の異なる値の予測数 |
AVG_RANGE_ROWS |
ヒストグラム区間内にある上限未満の重複する値の平均数 (DISTINCT_RANGE_ROWS > 0 の場合 RANGE_ROWS / DISTINCT_RANGE_ROWS) |
解説
返された結果はインデックスの選択度を示し、返された密度が低いほどこの選択度は高くなります。これに基づき、インデックスがクエリ オプティマイザにとって有用であるかどうかを判断できます。この返された結果は、インデックスの分布ステップに基づくものです。
統計の最終更新日を調べるには、STATS_DATE 関数を使用します。
権限
ユーザーはテーブルを所有しているか、固定サーバー ロール sysadmin、データベース ロール db_owner、または固定データベース ロール db_ddladmin のメンバであることが必要です。
例
A. すべての統計情報を返す
次の例は、Person.Address
テーブルの AK_Product_Name
インデックスに関するすべての統計情報を表示します。
USE AdventureWorks;
GO
DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid);
GO
B. HISTROGRAM オプションを指定する
次の例では、AK_Product_Name
インデックスに関して表示する統計情報を HISTOGRAM データに制限します。
USE AdventureWorks;
GO
DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid) WITH HISTOGRAM;
GO
参照
関連項目
CREATE INDEX (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
DBCC (Transact-SQL)
DROP STATISTICS (Transact-SQL)
sp_autostats (Transact-SQL)
sp_createstats (Transact-SQL)
STATS_DATE (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
USE (Transact-SQL)
その他の技術情報
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2005 年 12 月 5 日 |
|