Qual o tamanho de minha tabela?

Veja como achar facilmente as tabelas que gastam mais espaço em seu banco de dados!

Para quem trabalha com muitos dados, pode ser interessante fazer backup de tabelas muito grandes, de modo a melhorar o desempenho.

Se você por exemplo tem uma tabela que recebe uma grande quantidade de dados por dia, como uma tabela de log, pode considerar fazer periodicamente uma cópia para esvaziar a tabela, deixando apenas os registros mais recentes.

Outra necessidade que você pode ter é saber quais as tabelas com a maior quantidade de registros.

 

O script abaixo ajuda nestas duas situações, ele mostra o tamanho das tabelas e a quantidade de registros.

 

 

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

WHERE 

    t.NAME NOT LIKE dt%  

    AND t.is_ms_shipped = 0

    AND i.OBJECT_ID > 255 

GROUP BY 

    t.Name, s.Name, p.Rows

ORDER BY 

    t.Name

 

Quer conferir mais dicas sobre banco de dados? Clique aqui e veja mais dicas!