次の方法で共有


sp_helpstats (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

指定したテーブルの列およびインデックスに関する統計を返します。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 統計に関する情報を取得するには、 sys.stats および sys.stats_columns カタログ ビューに対してクエリを実行します。

Transact-SQL 構文表記規則

構文

sp_helpstats
    [ @objname = ] N'objname'
    [ , [ @results = ] N'results' ]
[ ; ]

引数

[ @objname = ] N'objname'

統計情報を提供するテーブルを指定します。 @objnamenvarchar(776)で、既定値はありません。 1 部構成または 2 部構成の名前を指定できます。

[ @results = ] N'results'

提供する情報の範囲を指定します。 @resultsnvarchar(5) で、既定値は STATS です。

  • ALL には、すべてのインデックスの統計と、そのインデックスに統計が作成された列が一覧表示されます。
  • STATS には、インデックスに関連付けられていない統計のみが一覧表示されます。

リターン コードの値

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

結果セット

次の表では、結果セットの列について説明します。

列名 説明
statistics_name 統計の名前。 sysnameを返し、NULLすることはできません。
statistics_keys 統計の基になっているキー。 nvarchar(2078)を返し、NULLすることはできません。

解説

DBCC SHOW_STATISTICSを使用して、特定のインデックスまたは統計に関する詳細な統計情報を表示します。 詳細については、「 DBCC SHOW_STATISTICSsp_helpindex」を参照してください。

アクセス許可

ロール public のメンバーシップが必要です。

次の例では、sp_createstats を実行し、AdventureWorks2022 データベース内のすべてのユーザー テーブルを対象にして、条件を満たすすべての列に関する統計を 1 列ずつ作成します。 次に、 sp_helpstats を実行して、 Customer テーブルに作成された結果の統計を検索します。

USE AdventureWorks2022;
GO

EXEC sp_createstats;
GO

EXEC sp_helpstats
    @objname = 'Sales.Customer',
    @results = 'ALL';

結果セットは次のとおりです。

statistics_name               statistics_keys
---------------------------- ----------------
_WA_Sys_00000003_22AA2996     AccountNumber
AK_Customer_AccountNumber     AccountNumber
AK_Customer_rowguid           rowguid
CustomerType                  CustomerType
IX_Customer_TerritoryID       TerritoryID
ModifiedDate                  ModifiedDate
PK_Customer_CustomerID        CustomerID