sp_helpstats (Transact-SQL)

适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例

返回有关指定表中的列和索引的统计信息。

重要

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 若要获取有关统计信息的信息,请查询 sys.statssys.stats_columns 目录视图。

Transact-SQL 语法约定

语法

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

参数

[ @objname = ] N'objname'

指定用来提供统计信息的表。 @objname为 nvarchar(776),没有默认值。 可以指定一部分或两部分名称。

[ @results = ] N'results'

指定要提供的信息的范围。 @results为 nvarchar(5),默认值为 STATS.

  • ALL 列出所有索引以及对其创建统计信息的列的统计信息。
  • STATS 仅列出未与索引关联的统计信息。

返回代码值

0(成功)或 1(失败)。

结果集

下表对结果集中的列进行了说明。

列名称 说明
statistics_name 统计信息的名称。 返回 sysname ,不能 NULL为 .
statistics_keys 统计信息所基于的键。 返回 nvarchar(2078), 不能 NULL

注解

用于 DBCC SHOW_STATISTICS 显示有关任何特定索引或统计信息的详细统计信息。 有关详细信息,请参阅 DBCC SHOW_STATISTICSsp_helpindex

权限

要求 公共 角色具有成员身份。

示例

以下示例通过执行 sp_createstats,为 AdventureWorks2022 数据库中的所有用户表的所有合格列创建单列统计信息。 然后,运行 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