CACHE INDEX table_index_list [, table_index_list] ... IN key_cache_name table_index_list: tbl_name [[INDEX] (index_name[, index_name] ...)]
La commande CACHE INDEX
assigne un index de
table à un cache de clé spécifique. Cette commande est
uniquement disponible pour les tables
MyISAM
.
La commande suivante assigne les index des tables
t1
, t2
et
t3
au cache de clé appelé
hot_cache
:
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 |
+---------+--------------------+----------+----------+
La syntaxe de CACHE INDEX
vous permet de
spécifier des index particuliers à un cache. Cependant,
l'implémentation courante assigne tous les index de la table
au cache, et il n'y a donc pas d'intérêt à spécifier autre
chose que le nom de la table.
Le cache de clé utilisé dans une commande CACHE
INDEX
peut être créé en lui donnant une taille
avec une commande de configuration, ou la configuration du
serveur. Par exemple :
mysql> SET GLOBAL keycache1.key_buffer_size=128*1024;
Les paramètres du cache de clé sont accessibles depuis une variable système structurée. See Section 9.4.1, « Variables système structurées ».
Un cache de clé doit exister avant que vous ne l'utilisiez :
mysql> CACHE INDEX t1 in non_existent_cache;
ERROR 1283 (HY000): Unknown key cache 'non_existent_cache'
Par défaut, les index de table sont assignée au cache de clé par défaut, créé au moment du démarrage du serveur. Lorsqu'un cache de clé est détruit, tous les index qui lui étaient assigné sont transmis au cache par défaut.
Les assignations d'index affectent le serveur globalement : si un client assigne un index à un cache donné, ce cache sera utilisé pour tous les requêtes, quelque soit le client qui émet la requête.
CACHE INDEX
a été ajouté en MySQL 4.1.1.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.