테이블에 인덱스가 있는지 여부를 어떻게 확인할 수 있습니까? 테이블의 특정 열에 대해 해당 인덱스를 찾는 방법이 있다면?테이블에 인덱스가 있는지 여부를 어떻게 확인할 수 있습니까?
감사합니다, 당신은 당신이 관심있는 테이블에 나무를 탐색하고 인덱스 노드를 열 수 있습니다 SQL Server 관리 Studio에서
테이블에 인덱스가 있는지 여부를 어떻게 확인할 수 있습니까? 테이블의 특정 열에 대해 해당 인덱스를 찾는 방법이 있다면?테이블에 인덱스가 있는지 여부를 어떻게 확인할 수 있습니까?
감사합니다, 당신은 당신이 관심있는 테이블에 나무를 탐색하고 인덱스 노드를 열 수 있습니다 SQL Server 관리 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
이
select object_name(object_id),* from sys.indexes
where object_name(object_id) = 'your table name'
열 이름 순서가 잘못된 것입니다, 당신은 인덱스의 위치에 의해 주문해야 시도 따라서 order by 절은 tabname, indname 및 sys.index_columns.index_column_id가되어야합니다.
thanx u daniel. – kumar
+1,'WHERE sys.tables.name = 'YourTableName''와 같은 것이 필요합니다. –
감사합니다. WHERE 절을 추가했습니다. –