Como saber el tamaño de las tablas en SQL Server

Como saber el tamaño de las tablas en SQL Server

En bases de datos con muchas tablas, podemos necesitar saber cuales son las tablas que más registros tienen y más espacio ocupan, con el fin de mejorar el rendimiento de la base de datos.

Para SQL Server, los datos de las bases de datos de usuarios se encuentran en tablas del sistema. Podemos usar el siguiente QRY para ver el espacio que ocupan todas las tabals de una base de datos en concreto.

USE Mi_base_de_datos;
GO

SELECT

t.NAME AS TableName, s.Name AS SchemaName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB, SUM(a.used_pages) * 8 AS UsedSpaceKB, (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB

FROM

sys.tables t

INNER JOIN

sys.indexes i ON t.OBJECT_ID = i.object_id

INNER JOIN

sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id

INNER JOIN

sys.allocation_units a ON p.partition_id = a.container_id

LEFT OUTER JOIN

sys.schemas s ON t.schema_id = s.schema_id

GROUP BY

t.Name, s.Name, p.Rows

ORDER BY

TotalSpaceKB DESC

 
Imagen de Freepik