Sql server 2005 - recuperer la liste des indexes existant sur la base courante

Contenu du snippet

Pour des besoin d'optimisation, on peut souhaiter avoir la liste des indexes existant sur les tables ou les vues.
Ce script permet d'obtenir ces information avec le type d'index.

Source / Exemple :


-------------------------------------------------------------------------------------
-- LISTE DES INDEXES EXISTANT SUR LA BASE COURANTE
-------------------------------------------------------------------------------------
SELECT 
	IDX.name				AS INDEX_NAME,
	SCH.name				AS SCHEMA_NAME,
	OBJ.name				AS OBJECT_NAME,
	COL.name				AS COLUMN_NAME,
	OBJ.type				AS OBJECT_TYPE,
	IDX.type_desc		AS INDEX_TYPE
FROM  sys.index_columns IDXC
INNER JOIN sys.objects OBJ 
		ON IDXC.object_id = OBJ.object_id 
INNER JOIN sys.schemas SCH
		ON SCH.schema_id = OBJ.schema_id
INNER JOIN sys.indexes IDX 
		ON (IDXC.object_id = IDX.object_id AND IDXC.index_id = IDX.index_id)
INNER JOIN sys.columns COL 
		ON (IDXC.column_id = COL.column_id AND OBJ.object_id = COL.object_id)
WHERE 
	(OBJ.type = 'U' OR OBJ.type = 'V')
-------------------------------------------------------------------------------------

Conclusion :


Bon coding

Romelard Fabrice [MVP]

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.