Ich benutze MySQL auf einer relativ komplexen Website (PHP-gesteuert).
Idealerweise würde ich ein Tool verwenden, mit dem ich die SQL-Abfragen testen kann, die ich verwende, und bessere Tabellenindizes vorschlage, die die Leistung verbessern und Tabellenscans vermeiden.
Wenn das nicht funktioniert, dann weiß ich genau, was jede Abfrage vorhat, damit ich die Optimierung selbst durchführen kann.
Bearbeiten: Eine einfache Anleitung zum Verständnis der Ausgabe von EXPLAIN ... wäre ebenfalls nützlich.
Danke.
Okay, bevor ich antworte, abonniert den MySQL Performance Blog , ich habe viel gelernt (und ich dachte, ich wüsste es bereits) viel über MySQL). Außerdem hat er eine bitchin 'Tools Seite hier .
Zweitens, hier sind einige Informationen über EXPLAIN (verwiesen auf das High Performance MySQL-Buch von O'Reilly):
Wenn Sie ein EXPLAIN für eine Abfrage ausführen, wird Ihnen alles, was MySQL über diese Abfrage weiß, in Form von Berichten für jede an der Abfrage beteiligte Tabelle mitgeteilt.
Jeder dieser Berichte wird Ihnen sagen ...
Das Buch ist absolut genial, wenn es um Informationen wie dieses geht. Wenn Sie es nicht schon getan haben, sollten Sie Ihren Chef dazu bringen, sich bei einem Kauf abzumelden.
Ansonsten hoffe ich, dass ein erfahrener SO-Benutzer helfen kann:)
Als eine einfache Sache aktivieren Sie Slow Query Log und sehen Sie, welche Abfragen langsam sind, und versuchen Sie dann, sie wie vorgeschlagen zu analysieren.
Es gibt wahrscheinlich Abfrageanalysatoren da draußen, aber für einen einfachen ersten Schnitt Verwenden Sie die mysql-Befehlszeile und geben Sie "explain select * from foo where bar = 'abc'" ein. Stellen Sie sicher, dass Ihre häufigsten Abfragen Indizes verwenden, versuchen Sie sequenzielle Scans oder Arten von großen Tabellen zu vermeiden.
Sie sollten sich das Maatkit ansehen, ein Open-Source-Toolkit für alle Arten von MySQL-Aufgaben. Ohne weitere Informationen über genau das, was Sie tunen möchten, ist es schwer, Ihnen zu sagen, welche Werkzeuge Sie verwenden würden und wie, aber die Dokumentation ist ausgezeichnet und deckt viele Anwendungen ab.
Tags und Links optimization mysql