SQL查询表中的有那些索引

方法1. 使用系统表

 

-- 查询一个表中的索引及索引列
USE AdventureWorks2008
GO
SELECT  indexname = a.name , tablename = c. name , indexcolumns = d .name , a .indid
FROM    sysindexes a JOIN sysindexkeys b ON a .id = b .id  AND a .indid = b.indid
        JOIN sysobjects c ON b .id = c .id
        JOIN syscolumns d ON b .id = d .id  AND b .colid = d .colid
WHERE   a .indid NOT IN ( 0 , 255 )  
-- and   c.xtype='U'   and   c.status>0 -- 查所有用户表
AND c .name = 'DatabaseLog' --查指定表
ORDER BY c. name ,
        a.name ,
        d.name

 

方法2. 使用系统存储过程

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

 

/*  sp_helpindex [ @objname = ] 'name'

 

参数 :[@objname =] 'name'
是当前数据库中表或视图的名称。name 的数据类型为 nvarchar(776),没有默认值。 */
use DB_NAME
go
sp_helpindex 'Tablename'

 

 

返回代码值
0(成功)或 1(失败)
结果集:


 

列名

数据类型

描述

index_name

sysname

索引名。

index_description

varchar(210)

索引描述。

index_keys

nvarchar(2078)

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

 

被降序索引的列将在结果集中列出,该列的名称后面带有一个减号 (-),当列出被升序索引的列(这是默认情况)时,只带有该列的名称。
注释
如果已经用 UPDATE STATISTICS 的 NORECOMPUTE 选项设置了索引,那么在 sp_helpindex 的结果集中会显示这个信息。

 

 

 

转载于:https://www.cnblogs.com/baozhu/p/8143850.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值