Sind genug Blöcke in einem Schlüssel-Cache vorhanden, um die Blöcke eines vollständigen Indexes – oder zumindest die Blöcke, die den Nichtblattknoten entsprechen – aufzunehmen, dann ist es sinnvoll, den Schlüssel-Cache mit den Indexblöcken schon vor der eigentlichen Verwendung vorab zu laden. Dieses Vorabladen gestattet es Ihnen, die Tabellenindexblöcke auf effizienteste Art und Weise in einem Schlüssel-Cache-Puffer abzulegen – nämlich durch sequenzielles Lesen der Indexblöcke von der Festplatte.
Ohne Vorabladen werden die Blöcke so im Schlüssel-Cache abgelegt, wie sie von den Abfragen benötigt werden. Zwar bleiben die Blöcke dann im Cache, weil genug Puffer für sie alle vorhanden sind, aber sie werden dann nicht sequenziell, sondern in zufälliger Abfolge von der Festplatte abgerufen.
Um einen Index vorab in einen Cache zu laden, verwenden Sie
die Anweisung LOAD INDEX INTO CACHE
. Die
folgende Anweisung beispielsweise lädt Knoten (Indexblöcke)
mit Indizes der Tabellen t1
und
t2
:
mysql> LOAD INDEX INTO CACHE t1, t2 IGNORE LEAVES;
+---------+--------------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+---------+--------------+----------+----------+
| test.t1 | preload_keys | status | OK |
| test.t2 | preload_keys | status | OK |
+---------+--------------+----------+----------+
Der Modifizierer IGNORE LEAVES
bewirkt,
dass nur Blöcke für Indexknoten, die nicht Endknoten
(Blätter) sind, geladen werden. Auf diese Weise lädt die
gezeigte Anweisung alle Indexblöcke von
t1
, von t2
hingegen nur
Blöcke für die Nichtblattknoten.
Wenn ein Index mit einer CACHE
INDEX
-Anweisung einem Schlüssel-Cache zugewiesen
wurde, platziert das Vorabladen die Indexblöcke in diesem
Cache. Andernfalls wird der Index in den vorgabeseitigen
Schlüssel-Cache geladen.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.