- Stellen Sie sicher, dass Sie Indizes für die Felder haben, die sich in Ihren WHERE-Anweisungen und ON-Bedingungen befinden. Primärschlüssel werden standardmäßig indiziert, aber Sie können Indizes auch manuell erstellen, wenn Sie müssen.
-
Überprüfen Sie, ob Sie wirklich jede Spalte in allen Tabellen auswählen müssen? Wenn nicht, stellen Sie sicher, dass Sie nur die Spalten auswählen, die Sie benötigen, und vermeiden Sie die Verwendung von select*
-
Überprüfen Sie noch einmal, ob Sie LEFT JOINS wirklich brauchen, wenn nein, verwenden Sie INNER JOINs.
-
Wenn die Leistung nach dem Optimieren Ihrer Abfrage immer noch ein Problem darstellt, sollten Sie Ihr Schema denormalisieren, um Joins zu eliminieren
-
Sie sollten auch in Betracht ziehen, die Belastung der Datenbank zu reduzieren, indem Sie Caching-Anwendungen wie sphinxsearch und memcached
verwenden -
Stellen Sie sicher, dass keiner Ihrer Joins zu Ansichten und nicht zu tatsächlichen Tabellen gehört
Referenzen:
http://dev.mysql.com/doc/refman /5.0/en/create-index.html