sp_statistics (Transact-SQL)
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
指定したテーブルまたはインデックス付きビュー上にあるすべてのインデックスおよび統計の一覧を返します。
構文
sp_statistics
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @index_name = ] N'index_name' ]
[ , [ @is_unique = ] 'is_unique' ]
[ , [ @accuracy = ] 'accuracy' ]
[ ; ]
Note
この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
引数
[ @table_name = ] N'table_name'
カタログ情報を返すために使用するテーブルを指定します。 @table_nameは sysname で、既定値はありません。 ワイルドカード パターン マッチングはサポートされていません。
[ @table_owner = ] N'table_owner'
カタログ情報を返すために使用されるテーブルのテーブル所有者の名前。 @table_ownerは sysname で、既定値は NULL
. ワイルドカード パターン マッチングはサポートされていません。 指定しない場合 owner
は、基になるデータベース管理システム (DBMS) の既定のテーブル可視性ルールが適用されます。
SQL Server では、現在のユーザーが指定した名前のテーブルを所有している場合、そのテーブルのインデックスが返されます。 指定されていない場合、現在のユーザーが指定したテーブルを所有していない場合 owner
、このプロシージャは、データベース name
所有者が所有するテーブル name
を検索します。 存在する場合は、そのテーブルのインデックスが返されます。
[ @table_qualifier = ] N'table_qualifier'
テーブル修飾子の名前。 @table_qualifierは sysname で、既定値は NULL
. さまざまな DBMS 製品では、テーブルの 3 部構成の名前付け (<qualifier>.<owner>.<name>
) がサポートされています。 SQL Server では、このパラメーターはデータベース名を表します。 一部の製品では、テーブルのデータベース環境のサーバー名を表します。
[ @index_name = ] N'index_name'
インデックス名。 @index_nameは sysname で、既定値は %
. ワイルドカードのパターン マッチングがサポートされています。
[ @is_unique = ] 'is_unique'
一意のインデックス (場合 Y
) のみを返すかどうか。 @is_uniqueは char(1) で、既定値は空の文字列です。
[ @accuracy = ] 'accuracy'
統計のカードのレベルとページの精度。 @accuracyは char(1) で、既定値は Q
. カードの順序とページが正確になるように統計が更新されるように指定E
します。
E
(SQL_ENSURE
) は、無条件に統計情報を取得するようにドライバーに要求します。Q
(SQL_QUICK
) ドライバーに対して、サーバーからすぐに使用できる場合にのみ、カードの順序とページを取得するように求めます。 この場合、ドライバーは値が最新であることを確認しません。 Open Group 標準に書き込まれたアプリケーションは、常に ODBC 3.x 準拠ドライバーから動作を取得SQL_QUICK
します。
結果セット
列名 | データ型 | 説明 |
---|---|---|
TABLE_QUALIFIER |
sysname | テーブルの修飾子名です。 この列は NULL . |
TABLE_OWNER |
sysname | テーブル所有者の名前。 この列は常に値が返されます。 |
TABLE_NAME |
sysname | テーブル名。 この列は常に値が返されます。 |
NON_UNIQUE |
smallint | NULL 値は許可されません。0 = 一意1 = 一意ではありません |
INDEX_QUALIFIER |
sysname | インデックス所有者名。 一部の DBMS 製品では、テーブル所有者以外のユーザーがインデックスを作成できます。 SQL Server では、この列は常に TABLE_NAME . |
INDEX_NAME |
sysname | インデックスの名前です。 この列は常に値が返されます。 |
TYPE |
smallint | この列は常に値を返します。0 = テーブルの統計1 = クラスター化2 = ハッシュ3 = Nonclustered |
SEQ_IN_INDEX |
smallint | インデックス内での列の位置。 |
COLUMN_NAME |
sysname | 返される各列の TABLE_NAME 列名。 この列は常に値が返されます。 |
COLLATION |
char(1) | 照合順序で使用されている並べ替え順。 次の値をとります。A = 昇順D = 降順NULL = 該当なし |
CARDINALITY |
int | テーブル内の行数、またはインデックス内の一意の値。 |
PAGES |
int | インデックスまたはテーブルを格納するページ数。 |
FILTER_CONDITION |
varchar(128) | SQL Server は値を返しません。 |
リターン コードの値
ありません。
解説
結果セット内のインデックスは、列NON_UNIQUE
、TYPE
、および INDEX_NAME
SEQ_IN_INDEX
.
クラスター化インデックス型は、テーブルのデータがインデックスの順に格納されているインデックス型を指します。 この値は、SQL Server クラスター化インデックスに対応します。
インデックスの種類 Hashed は完全一致または範囲検索を受け入れますが、パターン マッチング検索ではインデックスは使用されません。
システム ストアド プロシージャは sp_statistics
ODBC と同等 SQLStatistics
です。 返される結果は、およびで並べ替えますNON_UNIQUE
。 TYPE
INDEX_QUALIFIER
INDEX_NAME
SEQ_IN_INDEX
詳細については、ODBC リファレンスを 参照してください。
アクセス許可
スキーマに対する SELECT
アクセス許可が必要です。
例: Azure Synapse Analytics and Analytics Platform System (PDW)
次の例では、サンプル データベースからテーブルに DimEmployee
関する情報を AdventureWorks
返します。
EXEC sp_statistics DimEmployee;
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示