我们如何检查该表是否有索引?

kum*_*mar 13 sql sql-server sql-server-2005 sql-server-2008

我们如何检查该表是否有索引?如果有如何找到表的特定列的索引?

问候,库马尔

Dan*_*haw 18

在SQL Server Management Studio中,您可以在树中向下导航到您感兴趣的表,然后打开索引节点.双击该节点中的任何索引将打开属性对话框,该对话框将显示索引中包含的列.

如果您想使用T-SQL,这可能会有所帮助:

SELECT
    sys.tables.name,
    sys.indexes.name,
    sys.columns.name
FROM sys.indexes
    INNER JOIN sys.tables ON sys.tables.object_id = sys.indexes.object_id
    INNER JOIN sys.index_columns ON sys.index_columns.index_id = sys.indexes.index_id
        AND sys.index_columns.object_id = sys.tables.object_id
    INNER JOIN sys.columns ON sys.columns.column_id = sys.index_columns.column_id
        AND sys.columns.object_id = sys.tables.object_id
WHERE sys.tables.name = 'TABLE NAME HERE'
ORDER BY
    sys.tables.name,
    sys.indexes.name,
    sys.columns.name
Run Code Online (Sandbox Code Playgroud)