方法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. 使用系統存儲過程app
sp_helpindex :報告有關表或視圖上索引的信息。ide
/* sp_helpindex [ @objname = ] 'name' 參數 :[@objname =] 'name' 是當前數據庫中表或視圖的名稱。name 的數據類型爲 nvarchar(776),沒有默認值。 */ use DB_NAME go sp_helpindex 'Tablename'
返回代碼值
0(成功)或 1(失敗)
結果集:spa
列名code |
數據類型orm |
描述xml |
index_nameblog |
sysname索引 |
索引名。ip |
index_description |
varchar(210) |
索引描述。 |
index_keys |
nvarchar(2078) |
表或視圖列,在這些列上構造索引。 |
被降序索引的列將在結果集中列出,該列的名稱後面帶有一個減號 (-),當列出被升序索引的列(這是默認狀況)時,只帶有該列的名稱。
註釋
若是已經用 UPDATE STATISTICS 的 NORECOMPUTE 選項設置了索引,那麼在 sp_helpindex 的結果集中會顯示這個信息。