Menu

Listar los indices de una base de datos

Agosto 5, 2013 - SQL Server

Recientemente me encontré con la necesidad de listar los indices de la base de datos, y consultando con el oráculo (Google), encontré el siguiente código que comparto con ustedes.


SELECT
 COUNT(idx.TYPE) AS 'NumberOfIndexes'
 , sch.name AS 'Schema'
 , obj.name AS 'TableName'
FROM
 sys.indexes AS idx
 INNER JOIN sys.objects AS obj
 ON idx.[object_id] = obj.[object_id]
 INNER JOIN sys.schemas sch
 ON obj.[schema_id] = sch.[schema_id]
WHERE
 obj.TYPE IN ('U')
 AND idx.TYPE = 2
GROUP BY
 sch.name
 , obj.name

En la consulta anterior solo se listaran los indices Nonclustered, sin embargo si deseamos listar otro tipo de indices, podemos hacerlo reemplazando el 2 en “AND idx.TYPE = 2” por lo que necesitemos teniendo en cuenta la siguiente tabla:

Type of index:

0 = Heap

1 = Clustered

2 = Nonclustered

3 = XML

4 = Spatial

5 = Clustered xVelocity memory optimized columnstore index (Reserved for future use.)

6 = Nonclustered columnstore index

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *