Comment pouvons-nous vérifier que cette table a un index ou non? si avoir comment trouver cet index pour une colonne particulière pour une table?Comment pouvons-nous vérifier que cette table possède un index ou non?
Cordialement, kumar
Comment pouvons-nous vérifier que cette table a un index ou non? si avoir comment trouver cet index pour une colonne particulière pour une table?Comment pouvons-nous vérifier que cette table possède un index ou non?
Cordialement, kumar
Dans SQL Server Management Studio, vous pouvez naviguer dans l'arbre à la table qui vous intéresse et ouvrez le nœud index. Un double-clic sur un index de ce nœud ouvrira alors la boîte de dialogue des propriétés qui montrera quelles colonnes sont incluses dans l'index.
Si vous souhaitez utiliser T-SQL, cela pourrait aider:
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
Essayez
select object_name(object_id),* from sys.indexes
where object_name(object_id) = 'your table name'
commande par nom de colonne est erroné, vous devez commander par la position dans l'indice , donc order by clause devrait être tabname, indname et sys.index_columns.index_column_id ...
merci daniel. – kumar
+1, besoin de quelque chose comme 'WHERE sys.tables.name = 'YourTableName'' –
Merci, j'ai ajouté la clause WHERE –