Pour obtenir la place occupée sur le disque par une table, on peut utiliser : SELECT table_schema AS `Database`,table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) AS `Size (MB)` FROM information_schema.TABLES;

Le résultat est un tableau :
+--------------------+----------------------------------------------------+-----------+
| Database           | Table                                              | Size (MB) |
+--------------------+----------------------------------------------------+-----------+
| Tasks              | tasks_state                                        |      0.03 |
| Tasks              | tasks_tags                                         |      0.02 |
| Tasks              | tasks_task                                         |      0.03 |
| Tasks              | tasks_tasktags                                     |      0.05 |
| db2                | rawData                                            |      2.52 |
| db1                | tabley                                             |      1.58 |
...

Et si on ne veut que les noms de bases de données, sans les détails par table : SELECT table_schema AS `Database`, sum(round(((data_length + index_length) / 1024 / 1024), 2)) AS `Size (MB)` FROM information_schema.TABLES GROUP BY `Database`;
Utile lorsqu'un projet explose !
Des cookies d'analyse d'audience sont utilisés sur ce site