Wie Du die Größe einer Datenbank und Tabelle in MySQL (SQL) ermittelst
Bei der täglichen Arbeit mit MySQL bzw. einem SQL Derivat kommt oft die Frage zur aktuellen Größe einer Datenbank-Tabelle oder der gesamten Datenbank auf.
Die Größe der gesamten Datenbank kann dabei mit einer Query recht einfach ermittelt werden.
Nachfolgendes SQL-Statement ermittelt die Größe eurer MySQL-Datenbank(en) und zeigt diese an bzw. gibt sie zurück.
Ermittlung der Größe sämtlicher Datenbanken:
SELECT table_schema, sum( data_length + index_length ) / 1024 / 1024 "Speicherbedarf (MB)" FROM information_schema.TABLES GROUP BY table_schema;
Ermittlung der Größe einer spezifischen Datenbanken (YOUR_DATABASE_NAME ersetzen)
:
SELECT CONCAT(sum(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE) / 1024 / 1024),2))," MB") AS Größe FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = 'YOUR_DATABASE_NAME';
Auch die Größe jeder einzelnen Tabellen einer Datenbank lässt sich auf die gleiche Art eicht ermitteln. Der Platzhalter „YOUR_DATABASE_NAME
“ muss dabei durch den Namen der Datenbank ersetzt werden.
Ermittlung der Tabellengrößen einer Datenbank:
SELECT table_schema AS 'YOUR_DATABASE_NAME', table_name AS 'Tabelle',CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE) / 1024 / 1024),2)," MB") AS Größe FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = 'YOUR_DATABASE_NAME';
bzw.
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Größe (MB)"
FROM information_schema.TABLES
WHERE table_schema = "YOUR_DATABASE_NAME"
ORDER BY (data_length + index_length) DESC;