Borrar la cache de MySQL

MySQL proporciona una query cache. Ésta almacena el texto de una consulta SELECT con el resultado que se le envió al cliente.

La caché de consultas es muy útil en un entorno donde las tablas no cambian frecuentemente y donde el servidor recibe muchas consultas idénticas.

A continuación veremos cómo ver el estado de la cache y cómo limpiarla.

Ver estado de la cache

SHOW STATUS LIKE '%Qcache%';
+-------------------------+---------+
| Variable_name | Value |
+-------------------------+---------+
| Qcache_free_blocks | 887 |
| Qcache_free_memory | 3865728 |
| Qcache_hits | 232993 |
| Qcache_inserts | 21725 |
| Qcache_lowmem_prunes | 1093 |
| Qcache_not_cached | 6823 |
| Qcache_queries_in_cache | 4109 |
| Qcache_total_blocks | 9506 |
+-------------------------+---------+
8 rows in set (0.00 sec)


Limpiar query cache

Si queremos limpiar la query cache sin cerrar las tablas ejecutamos:

RESET QUERY CACHE


También podríamos cerrar todas las tablas abiertas y limpiar la query cache (es un método agresivo ya que cierra todas las tablas):

FLUSH TABLES