查看表或视图上的索引信息

本地

 sp_helpindex

报告有关表或视图上索引的信息。

语法

sp_helpindex [ @objname = ] 'name'

参数

[@objname =] 'name'

是当前数据库中表或视图的名称。name 的数据类型为 nvarchar(776),没有默认值。

返回代码值

0(成功)或 1(失败)

结果集

列名

数据类型

描述

index_name

sysname

索引名。

index_description

varchar(210)

索引描述。

index_keys

nvarchar(2078)

表或视图列,在这些列上构造索引。


被降序索引的列将在结果集中列出,该列的名称后面带有一个减号 (-),当列出被升序索引的列(这是默认情况)时,只带有该列的名称。

注释

如果已经用 UPDATE STATISTICS 的 NORECOMPUTE 选项设置了索引,那么在 sp_helpindex 的结果集中会显示这个信息。

权限

执行权限默认授予 public 角色。

示例

下面的示例报告 sysobjects 表上索引的类型。

sp_helpindex sysobjects

远程

sp_indexes

返回指定远程表的索引信息。

语法

sp_indexes [ @table_server = ] 'table_server'
    [ , [@table_name = ] 'table_name' ]
    [ , [ @table_schema = ] 'table_schema' ]
    
[ , [ @table_catalog = ] 'table_db' ]
    [ , [ @index_name = ] 'index_name' ]
    [ , [ @is_unique = ] 'is_unique' ]

参数

[@table_server =] 'table_server'

是正在为其请求表信息的运行 Microsoft® SQL Server™ 的链接服务器名。table_server 的数据类型为 sysname,没有默认值。

[@table_name =] 'table_name'

为其提供索引信息的远程表的名称。table_name 的数据类型为 sysname,默认值为 NULL。如果为 NULL,则返回指定数据库中的所有表。

[@table_schema =] 'table_schema'

指定表架构。在 Microsoft SQL Server 环境中,该参数对应于表的所有者,table_schema 的数据类型为 sysname,默认值为 NULL。

[@table_catalog =] 'table_db'

table_name 所在数据库的名称。table_catalog 的数据类型为 sysname,默认值为 NULL。如果为 NULL,则 table_db 的默认值为 master

[@index_name =] 'index_name'

要获取其信息的索引的名称,index 的数据类型为 sysname,默认值为 NULL。

[@is_unique =] 'is_unique'

要获取其信息的索引的类型。is_unique 的数据类型为 bit,默认值为 NULL,可以是下列值之一。

描述
1返回有关唯一索引的信息。
0返回有关非唯一索引的信息。
NULL返回有关所有索引的信息。

结果集

列名数据类型描述
TABLE_CATsysname指定的表所在的数据库的名称。
TABLE_SCHEMsysname表的架构。
TABLE_NAMEsysname远程表的名称。
NON_UNIQUEsmallint索引是否唯一:

0 = 唯一
1 = 不唯一

INDEX_QUALIFERsysname索引所有者的姓名。某些 DBMS 产品允许表所有者以外的用户创建索引。在 SQL Server 中,该列始终和 TABLE_NAME 相同。
INDEX_NAMEsysname索引的名称。
TYPEsmallint索引的类型:

0 = 表的统计
1 = 聚集
2 = 哈希
3 = 其它

ORDINAL_POSITIONint列在表中的顺序位置。表中的第一列为 1。该列始终返回值。
COLUMN_NAMEsysname返回的每个 TABLE_NAME 列的对应列名。
ASC_OR_DESCvarchar排序规则中使用的顺序:

A = 升序
D = 降序
NULL = 不适用

SQL Server 总是返回 A。

CARDINALITYint表中的行数或索引中唯一值的数目。
PAGESint存储索引或表的页数。
FILTER_CONDITIONnvarchar(4000)SQL Server 不返回值。

权限

执行权限默认授予 public 角色。

示例

下面的示例从 LONDON1 数据库服务器的 Northwind 数据库的 Employees 表中返回所有索引信息。

EXEC sp_indexes @table_server = 'LONDON1', 
   @table_name = 'Employees', 
   @table_catalog = 'Northwind', 
   @is_unique = 0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值