Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como verificar o tamanho de um banco de dados no MySQL


No MySQL, você pode consultar o information_schema.tables table para retornar informações sobre as tabelas em um banco de dados. Esta tabela inclui informações sobre o comprimento dos dados, comprimento do índice, bem como outros detalhes como agrupamento, tempo de criação, etc. Você pode usar as informações nesta tabela para encontrar o tamanho de um determinado banco de dados ou de todos os bancos de dados no servidor.

Você também pode usar a GUI do MySQL Workbench para encontrar detalhes sobre o banco de dados (incluindo seu tamanho).

Este artigo fornece uma visão geral rápida de ambos os métodos.


Exemplo de código


Aqui está um exemplo de como encontrar o tamanho de cada banco de dados executando uma consulta no information_schema.tables tabela:
SELECT table_schema 'Database Name', SUM(data_length + index_length) 'Tamanho em Bytes', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Tamanho em MiB'FROM information_schema.tables GROUP BY table_schema; 

Resultado:
+--------------------+---------------+--------- ----+| Nome do banco de dados | Tamanho em Bytes | Tamanho em MiB |+--------------------+---------------+-------- -----+| information_schema | 0 | 0,00 || Música | 98304 | 0,09 || mysql | 2506752 | 2,39 || performance_schema | 0 | 0,00 || sakila | 6766592 | 6,45 || Soluções | 16384 | 0,02 || sistema | 16384 | 0,02 || mundo | 802816 | 0,77 |+--------------------+---------------+---------- ---+

Neste exemplo listei o tamanho em bytes e em mebibytes (MiB), mas você pode escolher como quer apresentá-lo.

Claro, você sempre pode reduzi-lo a um banco de dados específico, se necessário. Basta adicionar um WHERE cláusula com o nome do banco de dados:
SELECT table_schema 'Database Name', SUM(data_length + index_length) 'Tamanho em Bytes', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Tamanho em MiB'FROM information_schema.tables WHERE table_schema =' sakila';

Resultado:
+---------------+---------------+-------------+ | Nome do banco de dados | Tamanho em Bytes | Tamanho em MiB |+---------------+---------------+------------- +| sakila | 6766592 | 6.45 |+---------------+---------------+-------------+ 

A função FORMAT_BYTES()


Você pode usar o sys.FORMAT_BYTES() função para salvar a si mesmo convertendo o tamanho em mebibytes, kibibytes ou qualquer outra coisa. Essa função recebe um valor, converte-o em formato legível e retorna uma string que consiste em um valor e um indicador de unidades. O valor convertido dependerá do tamanho do valor (assim o resultado poderá estar em bytes , KiB (kibibytes), MiB (mebibytes), GiB (gibibytes), TiB (tebibytes) ou PiB (pebibytes).

Aqui está um exemplo de reescrever o exemplo anterior para usar o FORMAT_BYTES() função:
USE Music;SELECT table_schema 'Database Name', SUM(data_length + index_length) 'Tamanho em Bytes', sys.FORMAT_BYTES(SUM(data_length + index_length)) 'Tamanho (Formatted)'FROM information_schema.tables GROUP BY table_schema; 

Resultado:
+--------------------+---------------+--------- ---------+| Nome do banco de dados | Tamanho em Bytes | Tamanho (formatado) |+--------------------+---------------+------- -----------+| information_schema | 0 | 0 bytes || Música | 98304 | 96,00 KiB || mysql | 2506752 | 2,39 MiB || performance_schema | 0 | 0 bytes || sakila | 6766592 | 6,45 MiB || Soluções | 16384 | 16,00 KiB || sistema | 16384 | 16,00 KiB || mundo | 802816 | 784,00 KiB |+--------------------+---------------+--------- ---------+

MySQL Workbench


Outra maneira de encontrar o tamanho do banco de dados é usar a GUI do MySQL Workbench. Veja como:
  1. Navegue até o banco de dados em Schemas painel
  2. Passe o mouse sobre o banco de dados aplicável
  3. Clique no pequeno ícone de informações ao lado do nome do banco de dados. Isso carrega informações sobre o banco de dados, incluindo seu tamanho aproximado, contagem de tabelas, agrupamento, etc. O tamanho do banco de dados é listado em Info guia (geralmente a guia padrão).