MySQL – Speicherplatz optimieren

2017-08-27 von Mario

Um den Speicherverbrauch einer MySQL Datenbank zu optimieren, kann das Tool mysqlcheck verwendet werden. Um einen Vorher-Nachher-Vergleich durchführen zu können, sollte vor einer Optimierung ein Blick auf den Verbrauch des Speicherplatzes der einzelnen Schemata durchgeführt werden.

 

Schritt 1: Anmelden am Datenbankserver

Mit dem Befehl “mysql” an der Datenbank anmelden und danach das Passwort eingeben.

mysql -u username -p

 

Schritt 2: Übersicht Speicherverbrauch je Schema/Tabelle

Wenn für die Anmeldung der User “root” verwendet wird, dann kann mit folgender SQL-Abfrage eine Auflistung aller Datenbanken und deren Speicherverbrauch abgerufen werden:

SELECT table_schema AS "Datenbank",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.tables
GROUP BY table_schema
ORDER BY table_schema;

Um einen detaillierten Blick auf einzelne Tabellen zu erhalten, wird eine weitere Abfrage benötigt. Dabei wird der jeweilige Tabellenname und der Speicherverbrauch dargestellt. In der WHERE-Klausel muss dafür der Schemaname (schema_name) angegeben werden.

SELECT table_name AS "Tabelle",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.tables
WHERE table_schema = "schema_name"
ORDER BY (data_length + index_length) DESC;

 

Schritt 3: Speicherverbrauch optimieren

Falls der mysql Client noch geöffnet sein sollte, einfach mit “STRG + C” beenden, um auf die Konsole zu kommen.

Jetzt kann mit dem Befehl “mysqlcheck” der Speicherplatz der Tabellen optimiert werden:

mysqlcheck -u username -p --optimize --databases meinSchemaname

Danach einfach den Schritt 1 und 2 wiederholen, um den Erfolg zu begutachten. Es ist auch möglich, alle Schemata gleichzeitig zu optimieren, hierfür muss nur der Parameter “–databases” mit “–all-databases” ausgetauscht werden und der Wert “meinSchemaname” entfällt.

 

Weiterführender Link:

MySQL Dokumentation: http://dev.mysql.com/doc/refman/5.5/en/mysqlcheck.html

Kategorie: IT Schlagwörter: , , , , ,