O que é o Query Cache do MySQL?
O Query Cache armazena o texto de um comando SELECT junto com o resultado correspondente que foi enviado ao cliente. Se uma expressão idêntica for recebida depois, o servidor pegará essas informações do Query Cache ao invés de executá-a novamente. O Query Cache é compartilhado com outras sessões, então o resultado gerado por um cliente pode ser enviado a outro como resposta para a mesma query enviada por outro cliente.
O Query Cache é extremamente útil em um ambiente onde você possua tabelas que não se alteram com frequência e o servidor recebe muitas queries idênticas. Essa é uma situação típica para muito servidores Web que geram páginas dinâmicas baseadas em conteúdo que está no banco de dados.
O Query Cache não retorna resultado inválido. Quando as tabelas são modificadas, qualquer entrada relevante à entrada no Cache será limpa.
Habilitando o Query Cache no MySQL
Siga esse post para habilitar sua utilização
Verificar como está se comportando o Query Cache
Pela linha de comando do Servidor, ou por qualquer cliente MySQL (como SQLyog) execute a Query:
SHOW STATUS LIKE 'qc%';
O resultado será algo como
+-------------------------+------------+ | Variable_name | Value | +-------------------------+------------+ | Qcache_free_blocks | 1075 | | Qcache_free_memory | 128424656 | | Qcache_hits | 847485 | | Qcache_inserts | 479531 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 1638835072 | | Qcache_queries_in_cache | 4899 | | Qcache_total_blocks | 10959 | +-------------------------+------------+ 8 rows in set (1.06 sec)
Para acessar o MySQL pela CLI, use o comando
mysql -h localhost -u root -p

Join the conversation