mssql sqlserver 获取指定表索引信息的方法分享


摘要:
下文主要讲述:获取表中索引的方法



方法1:通过sp_helpindex 获取相关索引信息

sp_helpindex是系统存储过程,需输入表名作为参数,可获取指定表下的索引信息。

 sp_helpindex '表名'

mssql_sqlserver_sp_helpindex用法

mssql_sqlserver_sp_helpindex用法



方法2:通过 sysindexes sysobjects syscolumns对象获取索引信息,如下所示:

  SELECT  [索引名称] = a.name , [表名] = c. name , [索引包含列] = 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 = '表名' --指定表名
ORDER BY c. name, a.name ,d.name


扩展阅读:
SELECT * FROM sys.sysindexes —查询整个数据库下的索引信息
oracle 查询索引信息:
select * from user_indexes where table_name=upper(‘表名’); –获取指定表索引信息
select * from user_ind_columns where index_name=(‘索引名称’); –获取索引编号
—-查询用户的索引
select index_name,table_name,tablespace_name,
index_type,uniqueness,status
from dba_indexes where owner=’所有者’;
—-查询用户的索引列
select index_name,table_name,column_name,
index_owner,table_owner
from dba_ind_columns
where table_owner=’所有者’;