1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
MySQL-Abfragen optimieren
Diese Anleitung wurde entwickelt, um Infomaniak-Nutzer dabei zu unterstützen, ihre Datenbanken zu entlasten und zu optimieren.
Vorwort
- Die Anzahl und die Größe der Datenbanken sind unbegrenzt.
- Es ist entscheidend, Ihre Abfragen und Tabellen (mit Hilfe von Indizes) zu optimieren, um eine Überlastung des Servers zu vermeiden, insbesondere wenn die Größe der Datenbank erheblich zunimmt.
Abfragen optimieren
Index spielen eine entscheidende Rolle bei der Verbesserung der Abfrageleistung, indem sie eine schnelle Suche nach Zeilen mit spezifischen Werten ermöglichen. Ohne Index muss MySQL alle Zeilen der Tabelle durchsuchen und bei jedem Schritt Vergleiche durchführen, um die relevanten Ergebnisse zu extrahieren. Je größer die Tabelle ist, desto mehr Ressourcen verbraucht dieser Vorgang.
Mit geeigneten Indizes auf den verwendeten Spalten kann MySQL die Zeilen schnell im Datenfile lokalisieren, ohne die gesamte Tabelle scannen zu müssen.
Verwendung des Befehls EXPLAIN
Der Befehl EXPLAIN
ermöglicht es, eine SQL-Abfrage zu analysieren, um die Anzahl der Zeilen (rows) zu bestimmen, die während ihrer Ausführung durchsucht werden. Wenn diese Zahl hoch ist, wird empfohlen, Indizes hinzuzufügen, um die Leistung der Abfrage zu verbessern. In der Regel werden Indizes zu den Spalten hinzugefügt, die in der WHERE
-Klausel einer SQL-Abfrage verwendet werden.
Indexe hinzufügen
Um Indizes zu einer Tabelle hinzuzufügen, verwenden Sie die folgende Syntax:
ALTER TABLE nom_de_table ADD INDEX nom_index (colonne1, colonne2, ...);
Mehr erfahren / Referenzen
http://dev.mysql.com/doc/refman/5.0/fr/mysql-indexes.html
http://dev.mysql.com/doc/refman/5.0/fr/explain.html