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 語句,將返回?cái)?shù)據(jù)庫中所有表的所有索引,并列出了每個(gè)索引的詳細(xì)信息,包括列名、類型、是否唯一和主鍵等信息??梢愿鶕?jù)這些信息來進(jìn)行索引的優(yōu)化和調(diào)整,以提高查詢性能。
2、要查看 SQL Server 數(shù)據(jù)庫中指定的多個(gè)表上的索引,可以使用如下 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') -- 替換成你要查詢的多個(gè)表名,用逗號(hào)分隔 ORDER BY t.name, ind.name;
將上述 SQL 語句中的 `IN ('Table1', 'Table2', 'Table3')` 替換為你要查詢的多個(gè)表名,并根據(jù)需要修改其他查詢條件。執(zhí)行該 SQL 語句將返回指定表上的所有索引,并列出每個(gè)索引的詳細(xì)信息,包括索引名、類型、是否唯一和主鍵等信息。
注意:確保將表名作為字符串按正確的語法提供給 `IN` 表達(dá)式,并在 SQL 查詢中使用正確的數(shù)據(jù)庫上下文。
到此這篇關(guān)于SQL server查看各表的索引的文章就介紹到這了,更多相關(guān)SQL server索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
必須會(huì)的SQL語句(三) 數(shù)據(jù)插入
這篇文章主要介紹了sqlserver中數(shù)據(jù)插入的sql語句,需要的朋友可以參考下2015-01-01一個(gè)查看MSSQLServer數(shù)據(jù)庫空間使用情況的存儲(chǔ)過程 SpaceUsed
一個(gè)查看MSSQLServer數(shù)據(jù)庫空間使用情況的存儲(chǔ)過程 SpaceUsed...2007-02-02揭秘SQL Server 2014有哪些新特性(4)-原生備份加密
SQL Server原聲備份加密對(duì)數(shù)據(jù)安全提供了非常好的解決方案。使用原生備份加密基本不會(huì)增加備份文件大小,并且打破了使用透明數(shù)據(jù)加密后幾乎沒有壓縮率的窘境。2014-08-08SQL Server誤區(qū)30日談 第7天 一個(gè)實(shí)例多個(gè)鏡像和日志傳送延遲
這個(gè)誤區(qū)就有點(diǎn)老生常談了。每一個(gè)主體服務(wù)器只允許一個(gè)鏡像服務(wù)器。如果你希望存在多個(gè)主體服務(wù)器的副本,那么請(qǐng)使用事務(wù)日志傳送,事務(wù)日志傳送允許針對(duì)每一個(gè)主體存在多個(gè)輔助實(shí)例2013-01-01SQL Server 作業(yè)同步 (結(jié)合備份作業(yè))
昨天發(fā)了篇 SQL Server 作業(yè)備份,今天就加上powershell 把 作業(yè)同步 完善起來,方便需要的朋友2012-06-06sql server編寫archive通用模板腳本實(shí)現(xiàn)自動(dòng)分批刪除數(shù)據(jù)
這篇文章主要介紹了sql server編寫archive通用模板腳本實(shí)現(xiàn)自動(dòng)分批刪除數(shù)據(jù),需要的朋友可以參考下2019-10-10SQL高級(jí)應(yīng)用之同服務(wù)器上復(fù)制表到另一數(shù)據(jù)庫中并實(shí)現(xiàn)去重復(fù)
項(xiàng)目需求:將數(shù)據(jù)庫Whir_ezMall_Full中的表Whir_Member的數(shù)據(jù)遷移到數(shù)據(jù)庫Whir_ezMall_Full_c中的Whir_Member表,已存在的ID記錄則不插入2014-06-06