Puede comprobar si la caché de consultas está presente en su servidor MySQL con el siguiente comando:
mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+
Puede defragmentar la caché de consultas para mejor uso de esta
memoria con el comando FLUSH QUERY CACHE . El
comando no elimina ninguna consulta de la caché.
El comando RESET QUERY CACHE elimina todos
los resultados de consultas de la caché de consultas. El
comando FLUSH TABLES también lo hace.
Para monitorizar el rendimiento de la caché de consultas, use
SHOW STATUS para ver las variables de estado
de la caché:
mysql> SHOW STATUS LIKE 'Qcache%'; +-------------------------+--------+ | Variable_name | Value | +-------------------------+--------+ | Qcache_free_blocks | 36 | | Qcache_free_memory | 138488 | | Qcache_hits | 79570 | | Qcache_inserts | 27087 | | Qcache_lowmem_prunes | 3114 | | Qcache_not_cached | 22989 | | Qcache_queries_in_cache | 415 | | Qcache_total_blocks | 912 | +-------------------------+--------+
Las descripicones de estas variables se dan en Sección 5.3.4, “Variables de estado del servidor”. Algunos de sus usos se describen aquí.
El número total de consultas SELECT es igual
a:
Com_select + Qcache_hits + consultas con errores detectados por el parser
El valor Com_select es igual a:
Qcache_inserts + Qcache_not_cached + consultas con errores encontrados durante la comprobación de columnas/permisos
La caché de consultas usa bloques de tamaño variable,
así que Qcache_total_blocks y
Qcache_free_blocks pueden indicar
fragementación de memoria de la caché. Tras
FLUSH QUERY CACHE, sólo queda un bloque de
memoria libre.
Cada consulta cacheada requiere como mínimo dos bloques (uno para el texto de la consulta y otro o más para el resultado de la misma). Además, cada tabla utilizada por una consulta requiere un bloque. Sin embargo, si dos o más consultas usan la misma tabla, sólo se reserva un bloque.
La información proporcionada por la variable de estado
Qcache_lowmem_prunes puede
ayudarle a ajustar el tamaño de la caché de consultas. Cuenta
el número de consultas que se han eliminado de la caché para
liberar memoria con el fin de cachear nuevas consultas. La caché de
consultas usa una estrategia de resultado usado menos recientemente
(LRU, siglas en inglés de least recently used) para decidir qué
consultas eliminar de la caché. Más información
para afinar las variables en
Sección 5.12.3, “Configuración de la caché de 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.
