O cache de consulta do MySQL armazena os resultados das consultas executadas com frequência e recentemente, para que possam ser retornadas rapidamente sem processar tudo do zero. Eles são muito úteis para melhorar a velocidade de consulta e o desempenho do banco de dados. Aqui estão as etapas para habilitar o cache de consulta MySQL para seu banco de dados, definir o tamanho do cache MySQL e desabilitar o cache de consulta. Observe , o cache de consulta do MySQL foi preterido no MySQL 5.7 e removido no MySQL 8.0.
Como habilitar o cache de consulta MySQL
Aqui está a configuração de cache do MySQL Query para seu banco de dados.
1. Verifique a disponibilidade
Faça login no MySQL e execute o seguinte comando para verificar se o cache de consulta do MySQL está disponível para seu banco de dados.
mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+
Se você obtiver o resultado como SIM, significa que seu banco de dados suporta cache de consulta.
Bônus de leitura:Como habilitar o log de consulta lenta do MySQL
2. Variáveis de cache de consulta padrão
O cache de consulta do MySQL é controlado por muitas variáveis. Execute o comando a seguir para visualizar seus valores padrão primeiro, antes de alterá-los.
mysql> show variables like 'query_cache_%' ;
Você verá a seguinte saída
+------------------------------+----------+ | Variable_name | Value | +------------------------------+----------+ | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 16777216 | | query_cache_type | OFF | | query_cache_wlock_invalidate | OFF | +------------------------------+----------+
Vejamos as variáveis de cache de consulta acima,
- query_cache_limit – tamanho máximo dos resultados da consulta que podem ser armazenados em cache
- query_cache_min_res_result – MySQL armazena o resultado da consulta em blocos. Este é o tamanho mínimo de cada bloco.
- query_cache_size – indica a quantidade total de memória alocada para o cache do MySQL.
- query_cache_type – definir isso como 0 ou OFF desabilita o cache de consulta do MySQL. configurá-lo para 1 ativa o cache de consulta.
- query_cache_wlock_invalidate – determina se o MySQL deve buscar resultados do cache se a tabela subjacente estiver bloqueada.
Bônus de leitura:As 5 principais ferramentas de monitoramento do MySQL
3. Ativar cache de consulta MySQL
Saia do MySQL. Abra o terminal e execute o seguinte comando para abrir o arquivo de configuração do MySQL.
$ sudo vi /etc/mysql/my.cnf
Adicione as seguintes linhas abaixo da seção [mysqld]
...
[mysqld]
query_cache_type=1
query_cache_size = 10M
query_cache_limit=256K
Habilitamos o cache de consulta definindo a variável query_cache_type como 1, com cache de consulta individual como 256Kb e cache total como 10Mb. Você pode alterar os valores de query_cache_size e query_cache_limit conforme seus requisitos.
Bônus de leitura:Como acelerar as consultas do MySQL
4. Reinicie o banco de dados MySQL
Reinicie o MySQL para aplicar as alterações
$ sudo systemctl restart mysql
OU
$ sudo service mysql restart
OU
$ sudo /etc/init.d/mysql restart
Espero que este artigo o ajude com a configuração do cache de consulta do MySQL.