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)化和調(diào)整,以提高查詢性能。
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索引內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
一個查看MSSQLServer數(shù)據(jù)庫空間使用情況的存儲過程 SpaceUsed
一個查看MSSQLServer數(shù)據(jù)庫空間使用情況的存儲過程 SpaceUsed...2007-02-02揭秘SQL Server 2014有哪些新特性(4)-原生備份加密
SQL Server原聲備份加密對數(shù)據(jù)安全提供了非常好的解決方案。使用原生備份加密基本不會增加備份文件大小,并且打破了使用透明數(shù)據(jù)加密后幾乎沒有壓縮率的窘境。2014-08-08SQL Server誤區(qū)30日談 第7天 一個實例多個鏡像和日志傳送延遲
這個誤區(qū)就有點老生常談了。每一個主體服務器只允許一個鏡像服務器。如果你希望存在多個主體服務器的副本,那么請使用事務日志傳送,事務日志傳送允許針對每一個主體存在多個輔助實例2013-01-01SQL Server 作業(yè)同步 (結合備份作業(yè))
昨天發(fā)了篇 SQL Server 作業(yè)備份,今天就加上powershell 把 作業(yè)同步 完善起來,方便需要的朋友2012-06-06sql server編寫archive通用模板腳本實現(xiàn)自動分批刪除數(shù)據(jù)
這篇文章主要介紹了sql server編寫archive通用模板腳本實現(xiàn)自動分批刪除數(shù)據(jù),需要的朋友可以參考下2019-10-10SQL高級應用之同服務器上復制表到另一數(shù)據(jù)庫中并實現(xiàn)去重復
項目需求:將數(shù)據(jù)庫Whir_ezMall_Full中的表Whir_Member的數(shù)據(jù)遷移到數(shù)據(jù)庫Whir_ezMall_Full_c中的Whir_Member表,已存在的ID記錄則不插入2014-06-06