Zurück

Datenbank optimieren/bereinigen

7 Min Lesedauer · Aktualisiert am 12.04.2022

Möchtest du deine Datenbank regelmässig überprüfen und optimieren oder wunderst du dich, warum diese auf einmal sehr grosse Tabellen enthält? Wir beschreiben in diesem Artikel, wie du grosse Tabellen erkennst und welche Möglichkeiten dir zur Verfügung stehen, um diese zu optimieren oder zu bereinigen.

Bitte erstelle vor Optimierungen oder Bereinigungen immer ein Backup der Datenbank. So kannst du diese im Notfall wieder zurückspielen und verlierst keine Daten.

Wo sehe ich die Grösse einer Datenbank/Tabelle?

Der Speicherplatz, welche eine Datenbank auf deinem Webhosting belegt, wird dir direkt im my.cyon im Menü «Datenbank» > «MySQL» angezeigt.

Menü «MySQL» im my.cyon
Menü «MySQL» im my.cyon

Zusätzlich dazu findest du Angaben zur Grösse der Datenbank oder einzelnen Tabellen im phpMyAdmin. Gehe dazu wie folgt vor:

1
Melde dich im my.cyon an und wähle im Menü «Datenbank» das Untermenü «phpMyAdmin».
Menü «phpMyAdmin» im my.cyon
Menü «phpMyAdmin» im my.cyon
2

Klicke danach auf «Datenbanken», um eine Übersicht über alle auf dem Webhosting eingerichteten Datenbanken zu erhalten. Um die Grösse dieser anzuzeigen, klicke darunter auf «Datenbankstatistiken aktivieren».

Datenbankübersicht im phpMyAdmin
Datenbankübersicht im phpMyAdmin

Die Angaben zur Grösse der Datenbank findest du danach in der Spalte «Insgesamt».

Grösse der Datenbanken
Grösse der Datenbanken
Der Wert wird je nach Grösse in verschiedenen Einheiten dargestellt. Du findest im Internet Websites wie beispielsweise umrechnung.org, auf welchen du diese Einheiten umrechnen kannst.
3

Um die Grösse der einzelnen Datenbanktabellen zu sehen, klicke auf die gewünschte Datenbank. In der Spalte «Grösse» wird dir nun zu jeder Datenbank die entsprechende Grösse angezeigt.

Beachte, dass die Angabe der Datenbankgrösse im phpMyAdmin von jener im my.cyon abweichen kann. Im phpMyAdmin wird die Grösse der Datenbank in MySQL angezeigt, wo hingegen im my.cyon der effektive Speicherplatz angezeigt wird, welchen die Datenbank belegt. Da kommen neben den MySQL Daten noch Metadaten wie Log-Daten hinzu, weshalb diese Werte leicht voneinander abweichen.

Wie kann ich meine Datenbank optimieren?

Dein CMS speichert im Verlauf der Zeit viele verschiedene Dinge in die Datenbank wie Inhalte deiner Artikel, registrierte Benutzerinnen und Benutzer aber oft auch Log-Daten. Führst du eine gut besuchte Website oder einen Onlineshop, so empfiehlt es sich regelmässig die Datenbank zu optimieren um so die Abfragen möglichst effizient und kurz zu halten.

Viele CMS haben Funktionen integriert, welche regelmässig die Datenbank bereinigen um beispielsweise alte Log-Daten zu entfernen. Wie du dies für TYPO3 oder Magento aktivieren kannst, beschreiben wir im Abschnitt «Wie kann ich eine Datenbank bereinigen?».

Für andere CMS wie WordPress gibt es entsprechende Plugins. Dazu findest du noch Informationen in unserem Artikel «Geschwindigkeit meiner WordPress-Website optimieren» im Abschnitt «Datenbank optimieren».

Du kannst deine Datenbanken jedoch auch direkt im my.cyon über «phpMyAdmin» oder über die Kommandozeile optimieren.

Optimieren über phpMyAdmin

1
Melde dich im my.cyon an und wähle im Menü «Datenbank» das Untermenü «phpMyAdmin».
Menü «phpMyAdmin» im my.cyon
Menü «phpMyAdmin» im my.cyon
2
Wähle die gewünschte Datenbank aus, du sieht nun eine Auflistung aller Tabellen.
3
Wähle die gewünschte Tabelle aus und scrolle nach unten. Falls du alle Tabelle der Datenbank optimieren möchtest, so wähle am Ende der Liste «Alle auswählen». Wähle danach im Feld «markierte:» die Option «Optimiere Tabelle». Der Vorgang wird sogleich gestartet.
Tabelle(n) optimieren
Tabelle(n) optimieren

Optimieren über Kommandozeile

Verbinde dich per SSH mit deinem Webhosting und führe dann den folgenden Befehl aus:

mysqlcheck -u <Anmeldename Datenbank> -p -o <Datenbank>

Ersetze dabei  <Anmeldename Datenbank> mit dem Anmeldenamen, welcher der betroffenen Datenbank zugewiesen ist, oder dem Anmeldenamen deines Webhostings und <Datenbank> mit dem Namen der gewünschten Datenbank. Nach dem Absetzen des Befehls wirst du aufgefordert das Passwort zum verwendeten Anmeldenamen einzugeben, bevor dann die Optimierung durchgeführt wird.

Wie kann ich eine Datenbank bereinigen?

Befinden sich in deiner Datenbank sehr grosse Tabellen, so gilt es zu prüfen welche Tabellen es betrifft, um was für Daten es sich handelt und wie diese Daten erfasst werden. So können beispielsweise Log-Daten, welche nicht automatisch gelöscht werden, nach einiger Zeit die Datenbank überfüllen. Diese Daten können jedoch meist unbedenklich reduziert werden, wohingegen andere Daten einer Website zwingend für deren Betrieb gebraucht werden.

Achtung: Beim Bearbeiten von Datenbanken ist Vorsicht geboten. Wir raten dir deshalb unbedingt zuvor ein Backup der Datenbank zu erstellen. Hat dir jemand anderes die Website für dich aufgebaut, so empfehlen wir dir dich an diese Person oder Firma zu wenden.

Beim Bereinigen bietet es sich an, ein entsprechendes Plugin oder die eingebaute Funktion deines CMS zu verwenden, um dir das manuelle Entfernen solcher Daten zu ersparen. Für Magento und TYPO3 beschreiben wir das Vorgehen in den folgenden Abschnitten.

Andernfalls kann eine Datenbank auch manuell bereinigt werden. Dies empfehlen wir jedoch nur Personen, welche sich ausreichend mit Datenbanken und den damit verbundenen Applikationen auskennen.

Beachte, dass die Grösse der Datenbank nach der Bereinigung im my.cyon nicht direkt aktualisiert wird. Optimiere dazu die betroffene Datenbank wie im Abschnitt «Optimieren über phpMyAdmin» oder «Optimieren über Kommandozeile» beschrieben, um die Anzeige zu aktualisieren.

Regelmässige Bereinigung für Magento aktivieren

Magento speichert Log-Daten in der Datenbank ab, was schnell zu grossen Datenbanken führen kann. Du kannst die Datenbank bereinigen, indem du über das Backend von Magento im Menü «System» > «Konfiguration» > «Erweitert» > «System» die Option «Protokoll bereinigen» aktivierst.

Aktuelle Angaben findest du jeweils in der offiziellen Dokumentation von Magento.

Regelmässige Bereinigung für TYPO3

Bei TYPO3 werden ebenfalls viele Daten, wie Änderungen an Artikeln, Zugriffe oder temporäre Daten, in der Datenbank gespeichert. Wie du das Speichern vom Log-Daten deaktivieren kannst, das beschreiben wir im Artikel «Syslog in TYPO3 deaktivieren».

Bei umfangreichen Websites gilt es jedoch, die Datenbankgrösse im Auge zu behalten und regelmässig die Datenbank zu überprüfen und zu bereinigen. Dies kann über das TYPO3-Backend im Menü «DB-Überprüfung» unter «Verknüpfungen» erfolgen. Zum Bereinigen wähle dann einfach die aufgelisteten Einträge und lösche diese. Zusätzlich finden sich im Menü «Wartung» noch zusätzliche Funktionen, um den Zustand der Datenbank zu überprüfen und zu optimieren.

Aktuelle Angaben findest du jeweils in der offiziellen Dokumentation von TYPO3.

Was dir auch helfen könnte

Verwandte Artikel