Diese Nachricht wurde vor 13 jahr 4 monat 17 tag veröffentlicht. Unter Umständen ist der Inhalt nicht mehr auf dem aktuellsten Stand.
Jeder der eine oder mehrere Datenbanken betreibt, sollte neben der Performance auch die belegten und benötigten Ressourcen im Blick haben. Mit einer einfachen Abfrage kann man sich direkt vom MySQL Server die Speicherbelegung anzeigen lassen.
SELECT table_schema AS 'Datenbankname', Round( SUM( data_length ) / 1024 / 1024, 3 ) AS 'Daten (MB)', Round( SUM( index_length ) / 1024 / 1024, 3 ) AS 'Index (MB)', Round( Sum( data_length + index_length ) / 1024 / 1024, 3 ) AS 'Gesamt (MB)', Round( Sum( data_free ) / 1024 / 1024, 3 ) AS 'Freier Speicher (MB)' FROM information_schema.tables GROUP BY table_schema ;
Das Resultat sieht dann in etwa so aus …
+--------------------+------------+------------+-------------+----------------------+ | Datenbankname | Daten (MB) | Index (MB) | Gesamt (MB) | Freier Speicher (MB) | +--------------------+------------+------------+-------------+----------------------+ | shopdb | 2457.729 | 1218.272 | 3676.002 | 4.000 | | testdb | 0.460 | 0.324 | 0.784 | 0.000 | | information_schema | 0.000 | 0.008 | 0.008 | 0.000 | | logging | 1239.394 | 702.597 | 1941.991 | 0.000 | | mysql | 0.492 | 0.087 | 0.579 | 0.000 | +--------------------+------------+------------+-------------+----------------------+ 5 rows in set (0.00 sec)
(Die Abfrage stammt von http://www.artfulsoftware.com/infotree/queries.php und wurde von mir leicht angepasst.)
Danke! Hat super geklappt und genau das habe ich gesucht.