CACHE INDEXtbl_index_list
[,tbl_index_list
] ... INkey_cache_name
tbl_index_list
:tbl_name
[[INDEX|KEY] (index_name
[,index_name
] ...)]
Die Anweisung CACHE INDEX
weist
Tabellenindizes einem bestimmten Schlüssel-Cache zu. Sie wird
nur bei MyISAM
-Tabellen eingesetzt.
Die folgende Anweisung weist Indizes der Tabellen
t1
, t2
und
t3
dem Schlüssel-Cache namens
hot_cache
zu:
mysql> CACHE INDEX t1, t2, t3 IN hot_cache;
+---------+--------------------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+---------+--------------------+----------+----------+
| test.t1 | assign_to_keycache | status | OK |
| test.t2 | assign_to_keycache | status | OK |
| test.t3 | assign_to_keycache | status | OK |
+---------+--------------------+----------+----------+
Die Syntax von CACHE INDEX
gestattet Ihnen,
anzugeben, dass nur bestimmte Indizes aus einer Tabelle dem
Cache zuzuweisen sind. Die aktuelle Implementierung weist alle
Indizes der Tabelle dem Cache zu, weswegen es keinen Grund
gibt, einen anderen Parameter als den Tabellennamen zu
übergeben.
Der in der CACHE INDEX
-Anweisung
referenzierte Schlüssel-Cache kann erstellt werden, indem
seine Größe mit einer Anweisung zur Parametereinstellung
oder in den Parametereinstellungen des Servers angegeben wird.
Zum Beispiel:
mysql> SET GLOBAL keycache1.key_buffer_size=128*1024;
Parameter eines Schlüssel-Caches lassen sich als Mitglieder einer strukturierten Systemvariablen einstellen. Siehe auch Abschnitt 5.2.3.1, „Strukturierte Systemvariablen“.
Ein Schlüssel-Cache muss bereits vorhanden sein, bevor Sie ihm Indizes zuweisen:
mysql> CACHE INDEX t1 IN non_existent_cache;
ERROR 1284 (HY000): Unknown key cache 'non_existent_cache'
Standardmäßig werden Tabellenindizes dem (vorgabeseitigen) Hauptschlüssel-Cache zugewiesen, der beim Serverstart erstellt wird. Wird ein Schlüssel-Cache zerstört, dann werden alle ihm zugewiesenen Indizes wieder dem Standardschlüssel-Cache zugewiesen.
Die Indexzuweisung wirkt sich global auf den Server aus: Wenn ein Client einem gegebenen Cache einen Index zuweist, wird der Cache für alle Abfragen verwendet, die diesen Index einbeziehen – unabhängig davon, welcher Client die Abfragen absetzt.
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.