Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como habilitar o cache de consulta do MySQL


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.