Benutzer-Werkzeuge

Webseiten-Werkzeuge


db:mysql:performance

Dies ist eine alte Version des Dokuments!


Performance-Tipps

Bei geringer Anzahl von Datensätzen in einer mySQL-Datenbank bewegt sich die Dauer der Abfragen meist im Millisekunden-Bereich. Wenn in den Tabellen jedoch mehrere Millionen Datensätze gespeichert wurden können die Abfragen auch schon leicht im Sekunden-Bereich liegen. Wenn die Abfragen dann noch mehrere Tabellen berücksichtigt kann es schon mal 30 Sekunden dauern. Bei einem Cronjob und einer Standard max execution time von 90 Sekunden Laufzeit sollte das noch kein Problem darstellen.

Wenn aber eine Ausgabe für einen User vorbereitet wird und dieser auf das Ergebnis wartet sind eine Wartezeit von 30 Sekunden in der Regel unzumutbar. Daher gibt es hier ein paar Tipps, damit die Datenbank-Abfragen wieder schneller werden.

Checkliste für Performance-Optimierung

  1. Alle Datenfelder, die mit der WHERE-Anweisung gesucht werden, einem Index „KEY“ hinzufügen
  2. Beim SELECT auf das * verzichten, sondern nur die benötigten Felder explizit angeben
  3. Nach Möglichkeit auf Funktion wie z. B. DATE() verzichten, da mySQL sonst vorher die Tabelle temporär dupliziert
  4. Nach Möglichkeit auf ORDER BY und GROUP BY verzichten: Doppelte Einträge lieber durch DISTIINCT vermeiden
  5. Sub-Selects lieber in der Programmiersprache, z. B. PHP lösen anstatt in SQL
db/mysql/performance.1570974968.txt.gz · Zuletzt geändert: 2019/10/13 15:56 von webproducer