Como um mysqldump é uma representação lógica do banco de dados, você encontrará apenas dados reais. Os índices nunca são armazenados em um mysqldump, mas a definição da tabela ditará como preencher os índices.
É difícil escolher um número exato para um mysqldump por causa do que está escrito em um mysqldump:
- Comandos INSERT estendidos com dezenas, centenas ou milhares de linhas
- dezenas ou centenas de parênteses e vírgulas por INSERT
- Comandos de criação de tabelas
- Diretivas para
- Desabilitando Chaves Estrangeiras e Chaves Exclusivas para Duração do mysqldump
- Gravando arquivo de log e posição do mysqldump
- Desativando / Ativando Índices (somente MyISAM)
- Bloqueando uma tabela inteira para gravações
- Salvando / restaurando variáveis globais
O que você pode avaliar como um fator a ser seguido é apenas a soma dos data_lengths:
SELECT SUM(data_length)/POWER(1024,2) TotalDB_MB
FROM information_schema.tables;
Para ver a soma por banco de dados e total geral:
SELECT table_schema,SUM(data_length)/POWER(1024,2) DB_MB
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','performance_schema','mysql')
GROUP BY table_schema
WITH ROLLUP;
Para ver todas as tabelas e bancos de dados com subtotificação:
SELECT table_schema,table_name,SUM(data_length)/POWER(1024,2) DB_MB
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','performance_schema','mysql')
GROUP BY table_schema,table_name
WITH ROLLUP;
Você pode usar o seguinte
-
POWER(1024,1)
relatórios em KB
-
POWER(1024,2)
relatórios em MB
-
POWER(1024,3)
relatórios em GB
-
POWER(1024,4)
relatórios em TB
-
POWER(1024,5)
relatórios em PB
- Isso é PetaBytes
- Se você tiver que usar este, cobro taxas razoáveis de consultoria
Você poderia usar essa fórmula
- NOC = Número de colunas por tabela
- NumCommas = NOC - 1
- NumQuotes = NumCharacterColumnsInTable X 2
- NumRows = Número de linhas por tabela
- NumParens = NumRows X 2
- CharactersForSQLPerTable = NumRows X (NumCommas + NumQuotes) + NumParens
Fórmula final para tamanho aproximado de um mysqldump
-
CharactersForSQLPerTable X NumberOfTables
-
+ Characters for "INSERT INTO tblname VALUES "
-
+ TotalDB_MB