Microsoft SQL Server verfügt über ein Tool namens Profiler, mit dem Sie jede SQL-Abfrage überwachen können, die auf die Datenbank trifft. Dies ist sowohl für Programmierer als auch für Datenbankadministratoren äußerst hilfreich, um genau die von einer Anwendung generierten Abfragen zu behandeln.

Nachdem ich regelmäßig auf MySQL umgestellt hatte, war dies eines der ersten Dinge, die ich herausfinden wollte. Wie kann man sonst den von WordPress oder phpBB generierten SQL-Code sehen?

Zuerst müssen Sie die Protokollierung von Abfragen in MySQL aktivieren. Seien Sie gewarnt, dass dies nur in der Entwicklung geschehen sollte… Es wird wirklich langsamer, wenn Sie jede einzelne Abfrage in einer Datei protokollieren.

Suchen und öffnen Sie Ihre MySQL-Konfigurationsdatei (normalerweise /etc/mysql/my.cnf auf Ubuntu). Suchen Sie nach dem Abschnitt "Protokollierung und Replikation".

## * Logging and Replication## Both location gets rotated by the cronjob.# Be aware that this log type is a performance killer.

log = /var/log/mysql/mysql.log

Kommentieren Sie einfach die Variable "log", um die Protokollierung zu aktivieren. Starten Sie MySQL mit diesem Befehl neu:

sudo /etc/init.d/mysql restart

Jetzt können wir mit dem Überwachen der Abfragen beginnen, sobald sie eingehen. Öffnen Sie ein neues Terminal, und führen Sie diesen Befehl aus, um die Protokolldatei zu scrollen und gegebenenfalls den Pfad anzupassen.

tail -f /var/log/mysql/mysql.log

Führen Sie jetzt Ihre Anwendung aus. Die Datenbankabfragen werden in Ihrem Terminalfenster angezeigt. (Stellen Sie sicher, dass auf dem Terminal Bildlauf und Verlauf aktiviert sind.)

Ich bin beeindruckt, dass phpbb3 ziemlich straffen, optimierten SQL-Code bietet. WordPress hingegen ist sehr ineffizient.

Top-Tipps:
Kommentare: