SQL server查看各表的索引(sql語句大全)
1、要查看 SQL Server 數(shù)據(jù)庫中的索引,可以使用如下 SQL 語句:
SELECT
TableName = t.name,
IndexName = ind.name,
ind.type_desc,
ind.is_unique,
ind.is_primary_key,
ColumnNames =
stuff(
(
select ', ' + col.name +
case when ic.is_descending_key = 1 then ' desc' else '' end
from sys.index_columns ic
inner join sys.columns col on ic.object_id = col.object_id and ic.column_id = col.column_id
where
ic.object_id = ind.object_id
and ic.index_id = ind.index_id
order by
ic.index_column_id
for xml path ('')
),1,2,''
)
FROM
sys.indexes ind
INNER JOIN sys.tables t ON ind.object_id = t.object_id
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE
ind.name IS NOT NULL
ORDER BY
t.name, ind.name;這條 SQL 語句查詢了系統(tǒng)元數(shù)據(jù)表,包含了以下信息:
- 表名
- 索引名
- 索引類型(聚集索引或非聚集索引)
- 是否是唯一索引
- 是否是主鍵索引
- 索引包含的列名
執(zhí)行上述 SQL 語句,將返回數(shù)據(jù)庫中所有表的所有索引,并列出了每個索引的詳細信息,包括列名、類型、是否唯一和主鍵等信息??梢愿鶕?jù)這些信息來進行索引的優(yōu)化和調整,以提高查詢性能。
2、要查看 SQL Server 數(shù)據(jù)庫中指定的多個表上的索引,可以使用如下 SQL 語句:
SELECT
TableName = t.name,
IndexName = ind.name,
ind.type_desc,
ind.is_unique,
ind.is_primary_key,
ColumnNames =
stuff(
(
SELECT ', ' + col.name +
CASE WHEN ic.is_descending_key = 1 THEN ' desc' ELSE '' END
FROM sys.index_columns ic
INNER JOIN sys.columns col ON ic.object_id = col.object_id AND ic.column_id = col.column_id
WHERE
ic.object_id = ind.object_id
AND ic.index_id = ind.index_id
ORDER BY
ic.index_column_id
FOR XML PATH ('')
),1,2,''
)
FROM
sys.indexes ind
INNER JOIN sys.tables t ON ind.object_id = t.object_id
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE
t.name IN ('Table1', 'Table2', 'Table3') -- 替換成你要查詢的多個表名,用逗號分隔
ORDER BY
t.name, ind.name;將上述 SQL 語句中的 `IN ('Table1', 'Table2', 'Table3')` 替換為你要查詢的多個表名,并根據(jù)需要修改其他查詢條件。執(zhí)行該 SQL 語句將返回指定表上的所有索引,并列出每個索引的詳細信息,包括索引名、類型、是否唯一和主鍵等信息。
注意:確保將表名作為字符串按正確的語法提供給 `IN` 表達式,并在 SQL 查詢中使用正確的數(shù)據(jù)庫上下文。
到此這篇關于SQL server查看各表的索引的文章就介紹到這了,更多相關SQL server索引內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MS sqlserver 2008數(shù)據(jù)庫轉換成2000版本的方法
這篇文章主要為大家詳細介紹了MS sqlserver 2008數(shù)據(jù)庫轉換成2000版本的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
重裝MS SQL Server 2000前必須徹底刪除原安裝文件的方法
重裝MS SQL Server 2000前必須徹底刪除原安裝文件的方法...2007-11-11
Sql Server使用cursor處理重復數(shù)據(jù)過程詳解
本節(jié)主要介紹了Sql Server cursor的使用,以處理重復數(shù)據(jù)為例,需要的朋友可以參考下2014-08-08
SQL SERVER數(shù)據(jù)庫收縮日志的實現(xiàn)步驟
這篇文章主要介紹了SQL SERVER數(shù)據(jù)庫收縮日志的實現(xiàn)步驟,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2024-04-04
Spark臨時表tempView的注冊/使用/注銷/注意事項(推薦)
transformation是根據(jù)原有RDD創(chuàng)建一個新的RDD,而action則把RDD操作后的結果返回給driver,這篇文章主要介紹了Spark臨時表tempView的注冊/使用/注銷/注意事項的相關資料,需要的朋友可以參考下2022-10-10

