【问题标题】:Check if index exist检查索引是否存在
【发布时间】:2021-07-22 22:51:57
【问题描述】:

如果索引有 2 列或更多列,我如何检查 SQL Server 上是否已有索引? 我不想只检查名称我想按表按列检查

任何帮助将不胜感激。

【问题讨论】:

    标签: database-indexes sql-server-2019


    【解决方案1】:

    您的问题有点含糊,但如果我理解正确,您希望在索引具有两列或更多列的所有表上查找索引:

    select t.[name] TableName, i.[name] IndexName
    from (
        select object_id, Index_Id
        from sys.index_columns
            group by object_Id, Index_Id
        having Count(*)>1
    )x 
    join sys.indexes i on i.index_id=x.index_id and i.object_id=x.object_id
    join sys.tables t on t.object_id=x.object_id and t.[type]='U'
    order by Tablename, IndexName
    

    【讨论】:

    • 澄清您还需要什么/不同之处?
    • 不完全。我需要在表 A 上为第 1 列和第 2 列创建索引 [Table_A] ([Column_1], [Column_2]) 上的 CREATE INDEX 名称是否可以检查 Table_A 上是否有另一个索引用于 Column_1 和 Column_2 具有另一个名称?
    猜你喜欢
    • 2012-11-30
    • 2015-09-16
    • 2013-05-28
    • 2010-09-20
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    相关资源
    最近更新 更多