Prefácio
Contar o tamanho de cada tabela em cada banco de dados é um dos requisitos mais simples no gerenciamento de dados. A seguir está uma análise estatística do volume de dados de cada banco de dados e tabela no MySQL a partir de dois aspectos: amostragem de resultados estatísticos e resultados estatísticos precisos. O dicionário de dados mysql information_schema registra o volume de dados estatístico estimado (a tabela do mecanismo innodb é imprecisa, a tabela do mecanismo MyISAM é precisa) e informações como tamanho dos dados, tamanho do índice e tamanho do fragmento da tabela. Se quiser saber a magnitude aproximada dos dados de cada biblioteca e tabela, você pode verificar diretamente information_schema.tables para obter estatísticas.
1. Conte o tamanho de todos os bancos de dados
mysql> use information_schema;
Database changed
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;
+-----------+
| data |
+-----------+
| 1101.44MB |
+-----------+
1 row in set (0.09 sec)
2. Conte os tamanhos de todas as tabelas
mysql> SELECT SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024 AS total_mb FROM information_schema.TABLES;
+---------------+
| total_mb |
+---------------+
| 1326.28188610 |
+---------------+
1 row in set (0.11 sec)
3. Estatísticas do tamanho de cada banco de dados
mysql> SELECT
table_schema,