Mostrando entradas con la etiqueta sql table tabla espacio space index indices. Mostrar todas las entradas
Mostrando entradas con la etiqueta sql table tabla espacio space index indices. Mostrar todas las entradas

martes, 19 de abril de 2011

Obtener cuanto ocupa una tabla y cada uno de los indices de la misma

Por medio de este script podemos obtener el espacio en disco  que ocupa una tabla y el detalle del espacio ocupado por cada uno de los indices de dicha tabla:

RESULTADO:
name      rows            reserved               data                     index_size             unused
-------     -----------          ------------------     ------------------       ----------------            ------------------
Client     10580220    2809928 KB         1408328 KB         1384496 KB         17104 KB

IndexName                                   IndexSizeKB
-------------------------------             --------------------
IX_ForDataView                              933944
IX_tuning_id_include_username        445144
PK_Client                                     1413736


SCRIPT:   (en  la variable  @strNombreTabla se indica la tabla a analizar)
DECLARE @strNombreTabla VARCHAR(50)
SET @strNombreTabla = 'Client'


EXEC sp_spaceused @strNombreTabla
SELECT i.name AS IndexName, SUM(s.used_page_count) * 8 AS IndexSizeKB
FROM sys.dm_db_partition_stats AS s
JOIN sys.indexes AS i
ON s.[object_id] = i.[object_id]
AND s.index_id = i.index_id
WHERE s.[object_id] = object_id(@strNombreTabla )
GROUP BY i.name ORDER BY i.name