Como listar o tamanho das tabelas no SQL Server e no MySQL

Como listar o tamanho das tabelas no SQL Server e no MySQL

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.

Vamos ver scripts que permitem obter estas informações no SQL Server e no MySQL

O primeiro script que vamos ver é para o SQL Server.

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

 

Agora vamos ver como fazer o mesmo utilizando o MySQL

SELECT

  TABLE_NAME AS `Tabela`,

  TABLE_ROWS as Registros,

  ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `Tamanho (MB)`

FROM

  information_schema.TABLES

WHERE

    TABLE_SCHEMA = "NOME_DO_BANCO_DE_DADOS"

ORDER BY

  (DATA_LENGTH + INDEX_LENGTH)

DESC;

 

Outros conteudos que podem ser de seu interesse

Salários na área de TI
02/01/2022SQL

Salários na área de TI

Uma lista de tabelas de salários na área de Tecnologia da Informação

Saiba mais...
SQL vs Pandas - Agrupamento e frequências
31/03/2024SQL

SQL vs Pandas - Agrupamento e frequências

Veja como agrupar dados no SQL e no Pandas e fazer o cálculo de frequências

Saiba mais...

Conteúdo sobre banco de dados sem complicação!