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

SQL vs Pandas - Manipulando strings
26/11/2023SQL

SQL vs Pandas - Manipulando strings

Exemplos básicos de manipulação de strings no SQL e no Pandas

Saiba mais...
Calculando a idade usando SQL Server
23/09/2019SQL

Calculando a idade usando SQL Server

Aprenda a calcular a idade usando o SQL Server

Saiba mais...

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