首页 > 代码库 > SQL查询表中的有那些索引
SQL查询表中的有那些索引
方法1. 使用系统表
-- 查询一个表中的索引及索引列USE AdventureWorks2008GOSELECT indexname = a.name , tablename = c. name , indexcolumns = d .name , a .indidFROM 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 .colidWHERE 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_NAMEgosp_helpindex ‘Tablename‘
返回代码值
0(成功)或 1(失败)
结果集:
列名 | 数据类型 | 描述 |
index_name | sysname | 索引名。 |
index_description | varchar(210) | 索引描述。 |
index_keys | nvarchar(2078) | 表或视图列,在这些列上构造索引。 |
被降序索引的列将在结果集中列出,该列的名称后面带有一个减号 (-),当列出被升序索引的列(这是默认情况)时,只带有该列的名称。
注释
如果已经用 UPDATE STATISTICS 的 NORECOMPUTE 选项设置了索引,那么在 sp_helpindex 的结果集中会显示这个信息。
转:cc SQL查询表中的有那些索引
SQL查询表中的有那些索引
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。