Teil 6: MySQL 4 - Tunig-Möglichkeiten für Admins

SQL-Optimierung: Server richtig konfigurieren

Caching-Eigenschaften

Die einzelnen Clients verwenden zunächst immer die Caching-Eigenschaften, die als Standard vom Server vorgegeben sind. Mit der folgenden Anweisung können Sie bei einem Client die Art und Weise ändern, wie seine Anfragen durch den Server gespeichert werden:

SET SQL_QUERY_CACHE_TYPE = value;

wert kann – entsprechend der Werte für die Variable query_cache_type – die Werte 0, 1 oder 2 annehmen. Synonym zu diesen lassen sich außerdem die Schlüsselwörter OFF, ON und DEMAND verwenden.

Ein Client kann das Caching einzelner Anfragen auch steuern, indem er dem Schlüsselwort SELECT einen Modifikator nachstellt. Ist das gezielte Caching aktiviert, dann wird eine Anfrage durch Einleitung mit SELECT SQL_CACHE im Cache abgelegt; SELECT SQL_NO_CACHE hingegen bewirkt, dass eine Anfrage nicht gespeichert wird.

Die Unterdrückung des Cachings kann bei Anfragen sinnvoll sein, die Informationen aus einer sich fortwährend ändernden Tabelle abrufen. In diesem Fall wird der Cache wohl kaum von großem Nutzen sein. Angenommen, Sie protokollieren Anfragen an Ihren Webserver in eine MySQL-Tabelle und setzen außerdem regelmäßig einen Satz von Übersichtsanfragen an diese Tabelle ab.

Bei einem normal beschäftigten Webserver werden häufig neue Zeilen in die Tabelle eingefügt, weswegen alle Anfrageergebnisse, die für diese Tabelle im Cache gespeichert würden, schnell ungültig würden. Zwar werden die Übersichtsanfragen wiederholt abgesetzt, aber die Wahrscheinlichkeit, dass diese Anfragen vom Cache profitieren können, ist doch eher gering. Unter diesen Umständen sollten Sie die Anfragen mit dem Modifikator SQL_NO_CACHE versehen, um dem Server mitzuteilen, dass er die Ergebnisse nicht im Cache abzulegen braucht.