Bei meinem Versuch Wordpress (Version 2.3) noch ein wenig schneller zu machen, bin ich auf eine weitere Möglichkeit gestoßen.
Mit folgendem Code kann man sich in der footer.php die Anzahl der SQL-Abfragen und die verbrauchte Zeit ausgeben lassen:
Alle abfragen müssen als html kommentar und php kommentar ein das Template eingetragen werden.
echo $wpdb->num_queries . ‘queries ‘ . timer_stop(1) . ‘ seconds’;
Als Beispiel erhält man bei mir:
13 queries. 0.273 seconds.
Die queries entsprechen Abfragen für Posts, Kategorien und allen Extras die mit Plugins hinzugekommen sind. Wenn die dauer hier entsprechend hoch sein sollte, dann muss dringend was getan werden. Nun gibt es die Möglichkeit sich alle SQL-Abfragen beim Seitenaufbau komplett ausgeben zu lassen. Dazu muss in der footer.php folgende Code eingefügt werden:
print_r($wpdb->queries);
Damit die Klasse $wpdb auch alle queries mitschreibt muss in der Datei wp_includes/wp-db.php eine Änderung vorgenommen werden. Einfach den Eintrag define(‘SAVEQUERIES’, false) suchen und auf TRUE setzen. Nachdem die änderung gemacht und eingespielt wurde, einfach die Seite wieder Aufrufen. Wenn man sich nun den Quelltext aufruft, erkennt man alle getätigten SQL-Abfragen.
Nun gibt es die Möglichkeit Verbesserungen vorzunehmen. Dazu müsst ihr Euch die SQL-Abfragen Beispielhaft heraus kopieren und im Quellcode nach diesen Textstellen suchen. Dann könnt ihr die Abfragen anpassen.
Tips zur verbesserung von SQL-Abfragen:
1. ORDER BY [XY] DESC LIMIT 1 ersetzen durch eine MAX(XY) Abfrage. Somit muss die Datenbank nicht noch extra sortieren.
2. SELECT * auf jeden Fall ersetzen durch die eingabe aller Feldnamen. Somit muss die Datenbank nicht noch extra alle Feldnamen heraussuchen.
Die Maßnahmen habe ich in meinem Blog bereits eingebaut, basierend auf Wordpress 2.04 und es läuft bislang sehr gut. Ich gebe natürlich keine Gewährleistung für diese Tips, jeder macht es auf eigene Gefahr.
Einen Kommentar schreiben