sp_statistics (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 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' ]
[ ; ]
注意
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 产品支持表的三部分命名(<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 = Clustered2 = 哈希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
存储过程等效于 SQLStatistics
ODBC。 返回的结果按 NON_UNIQUE
、、 INDEX_NAME
TYPE
INDEX_QUALIFIER
和 。SEQ_IN_INDEX
有关详细信息,请参阅 ODBC 参考。
权限
需要对架构的 SELECT
权限。
示例:Azure Synapse Analytics 和分析平台系统(PDW)
以下示例从AdventureWorks
示例数据库返回有关DimEmployee
表的信息。
EXEC sp_statistics DimEmployee;