CACHE INDEXtbl_index_list
[,tbl_index_list
] ... INkey_cache_name
tbl_index_list
:tbl_name
[[INDEX|KEY] (index_name
[,index_name
] ...)]
El comando CACHE INDEX
asigna índices de
tabla a una caché de clave específica. Se usa sólo para
tablas MyISAM
.
El siguiente comando asigna índices de las tablas
t1
, t2
, y
t3
a la caché de claves llamada
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 sintaxis de CACHE INDEX
le permite
especifcar que sólo deben asignarse índicess particulares de
una tabla a la caché. Sin embargo, la implementación actual
asigna todos los índices de la tabla a la caché, así que no
hay razón para especificar nada más que el nombre de tabla.
La caché de clave referenciada en un comando CACHE
INDEX
puede crearse cambiando su tamaño con un
comando que asigne un valor al parámetro o en la
configuración del parámetro del servidor. Por ejemplo:
mysql> SET GLOBAL keycache1.key_buffer_size=128*1024;
Puede accederse a los parámetros de la caché de claves como miembros de una variable de sistema estructurada. Consulte Sección 9.4.1, “Variables estructuradas de sistema”.
Una caché de claves debe existir antes de asignarle índices:
mysql> CACHE INDEX t1 IN non_existent_cache; ERROR 1284 (HY000): Unknown key cache 'non_existent_cache'
Por defecto, los índices de tabla se asignan a la caché de claves principal (por defecto) creada en el arranque del servidor. Cuando se destruye una caché de índices, todos los índices asignados a la misma se asignan de nuevo a la caché por defecto.
Las asignaciones de índices afectan al servidor globalmente: Si un cliente asigna un índice a una caché dada, esta caché se usa para todas las consultas que tengan que ver con el índice, sin importar qué cliente realiza las consultas.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.