Das am meisten verbreiteste Datenbankverwaltungssystem MySQL führt auf meinem System täglich hundertausende Abfragen aus und legt tausende neue Datensätze an. Bei der Menge an Operationen ist es ganz spannend zu sehen, wie groß jede einzelne Datenbank ist und wie viel Speicherplatz eine Tabelle benötigt.

Dank der Meta Daten Tabelle information_schema kann die Datenbankgröße schnell und unkompliziert auf der Konsole oder in phpmyadmin abgefragt werden.

MySQL - Datenbankgröße in MB auslesen

Die SQL Query liest alle Datenbanken aus und zeigt die Größe in MB an.

SELECT
  table_schema AS 'Database',
  round(sum(data_length + index_length) / 1024 / 1024, 2) AS 'Size MB'
FROM information_schema.TABLES
GROUP BY table_schema;  

Ergebnis:

Database          |Size MiB |
------------------+---------+
information_schema|     0,16|
rem_lager         | 6.800,93|
rem_buchungen     | 5.026,79|

MySQL - Tabellengrößen auslesen

Mit der nächsten SQL Query lässt sich die jeweilige Tabellengröße in MB auslesen.

Wer nur eine bestimmte Datenbank analysieren möchte, muss im WHERE Part die Datenbank angeben!

SELECT 
  table_schema as `Database`, 
  table_name AS `Table`, 
  round((data_length + index_length) / 1024 / 1024, 2) `Size in MB` 
FROM information_schema.TABLES 
-- WHERE table_schema = 'rem_lager'
ORDER BY (data_length + index_length) DESC;

Eregebnis

Database |Table                        |Size in MB|
---------+-----------------------------+----------+
rem_lager|lager                        |  2.209.17|
rem_lager|bewegung                     |  1.376.10|
rem_lager|kontrolle                    |    426.86|
rem_lager|position                     |    401.03|
rem_lager|lieferschein                 |    201.31|