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

SQL-Optimierung: Server richtig konfigurieren

Der Anfragecache

Seit MySQL 4.0.1 kann der Server zur Beschleunigung wiederholt ausgeführter SELECT-Anweisungen einen Anfragecache verwenden. Die hiermit zu erzielende Leistungssteigerung ist oft dramatisch. Der Anfragecache funktioniert wie folgt:

  • Wird eine bestimmte SELECT-Anweisung zum ersten Mal ausgeführt, dann merkt sich der Server sowohl die Anfrage als auch ihre Ergebnisse.

  • Erkennt der Server die Anfrage erneut, dann führt er sie nicht noch einmal aus, sondern er holt sich das Ergebnis direkt aus dem Cache und gibt es an den Client zurück.

  • Die Anfragespeicherung basiert auf dem exakten Text der Anfragestrings, so wie sie vom Server empfangen wurden: Sind also die Stringtexte zweier Anfragen identisch, dann werden auch die Anfragen selbst als identisch betrachtet. Nicht identisch sind Anfragen, die sich in der Groß-/Kleinschreibung unterscheiden oder von Clients stammen, die verschiedene Zeichensätze oder Kommunikationsprotokolle einsetzen. Auch Anfragen, die sich auf unterschiedliche Tabellen beziehen, werden bei ansonsten identischem Aufbau als unterschiedlich eingestuft (dies gilt auch, wenn sie sich auf Tabellen gleichen Namens in unterschiedlichen Datenbanken beziehen).

  • Wird eine Tabelle aktualisiert, dann werden alle Anfragen, die sich auf diese Tabelle beziehen, ungültig und infolgedessen verworfen. Dadurch wird verhindert, dass der Server veraltete Daten zurückgibt.