DBCC SHOW_STATISTICS (Transact-SQL)

更新 : 2005 年 12 月 5 日

指定されたテーブルの指定された対象に関する現在の分布統計を表示します。

ms174384.note(ja-jp,SQL.90).gif重要 :
この機能は以前のバージョンの SQL Server から変更されました。詳細については、「SQL Server 2005 におけるデータベース エンジン機能の動作の変更」を参照してください。

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

構文

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 条件に関する結果セットのサイズを予測できます。charvarcharncharnvarcharvarchar(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)

その他の技術情報

インデックス統計

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2005 年 12 月 5 日

変更内容 :
  • STAT_HEADER オプションで生成される結果セットの Density 列の説明を修正。
  • DENSITY_VECTOR オプションで生成される結果セットの All density 列の説明を修正。