5.5.3. La cache de consultas de MySQ

* Memoria intermedia de acceso rápido.                                       

El servidor MySQL incluye la posibilidad de utilizar una cache* con los resultados de las últimas consultas para acelerar la velocidad de respuesta. Esta solución  es  útil  cuando  las  tablas  tienen  relativamente  pocos  cambios  y  se realizan los mismos tipos de consultas. El funcionamiento de la cache se basa en las premisas siguientes:

•    La primera vez que se recibe una consulta se almacena en la cache.

•    Las siguientes veces la consulta se realiza primero en la cache; si tiene éxito, el resultado se envía inmediatamente.

La cache tiene las siguientes características:

•    El servidor compara el texto de la consulta; aunque técnicamente sea igual si difiere en uso de mayúsculas-minúsculas o cualquier otro cambio, no se considera la solicitud idéntica y no será tratada por la cache.

•    Si alguna tabla incluida en alguna consulta cambia, el contenido de la consulta es eliminado de la cache.

La configuración de la cache se realiza a través de variables globales:

•    query_cache_limit. No almacena resultados que sobrepasen dicho tamaño. Por omisión es de 1M.

•    query_cache_size. Tamaño de la memoria cache expresada en bytes. Por omisión es 0; es decir, no hay cache.

•    query_cache_type. Puede tener tres valores: ON , OFF o DEMAND 

tipos de cache

Valor Tipo         Significado                       
0    OFF    Cache desactivado
1    ON    Cache activado
   2 DEMAND Sólo bajo solicitud explicita

 

 

 

 

 

Cuando la cache del servidor esta en modo DEMAND, se debe solicitar explícitamente que la consulta utilice o no la cache:

select sql_cache
select sql_no_cache