Como monitorar queries lentas com o Slow Query Log no seu banco de dados
Olá, amigo(a) GeHost! Seja muito bem-vindo(a) ao nosso Sensei da Hosteria — aquele que te ajuda a entender o mundo da hospedagem com calma, clareza e um toque de amor no código. 🌿
Hoje vamos aprender algo super importante para quem tem um site, loja virtual ou sistema com banco de dados: como monitorar consultas lentas (queries lentas) usando o Slow Query Log.
Imagine que seu site está mais lento do que o café da manhã no domingo. Você já verificou a internet, o servidor… mas ainda assim, algo está travando. Pode ser uma consulta no banco de dados que está levando muito tempo para responder. É aí que entra o Slow Query Log — ele é como um "detetive" do seu banco, que anota todas as queries que levam mais tempo do que o permitido.
Dica do Sensei: Manter o banco de dados rápido é como manter a porta da sua loja sempre aberta — ninguém espera muito para entrar!
Passo a passo: Ativando e usando o Slow Query Log no cPanel
Na GeHost, você tem acesso ao cPanel — o painel de controle que te ajuda a gerenciar tudo do seu site. Vamos lá, com calma e passo a passo:
Entre no cPanel com suas credenciais (usuário e senha). Você pode acessar pelo link:
https://cpanel.seudominio.com.br(substitua pelo seu domínio).
Na tela principal do cPanel, localize o grupo de ferramentas chamado Bancos de Dados. Clique em MySQL Databases.
Agora, na página de bancos de dados, procure por um botão ou link chamado Configurações do Banco de Dados ou algo parecido. Ele pode estar dentro da seção de um banco específico.
Se não vir esse botão, não se preocupe — vamos usar uma solução alternativa com o phpMyAdmin, que está disponível no mesmo menu.
Na mesma página, clique em phpMyAdmin (geralmente no canto superior direito).
Isso te levará ao painel de administração do MySQL, onde você pode ver e gerenciar suas tabelas.
Uma vez no phpMyAdmin, clique no menu superior em Opções (ou "Settings") e procure por Slow Query Log.
Se não aparecer diretamente, não se preocupe. Vamos ativar o log via SQL.
Clique na aba SQL no phpMyAdmin e digite o seguinte comando:
SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 2;Esse comando ativa o log de consultas lentas e define que qualquer query que demore mais de 2 segundos será registrada.
💡 Dica: Você pode ajustar o tempo para 1 segundo se quiser ser mais rigoroso.
Após executar o comando, o sistema começará a registrar as queries lentas automaticamente.
Para ver onde o log está salvo, você pode executar este comando:
SHOW VARIABLES LIKE 'slow_query_log_file';Isso te mostrará o caminho do arquivo de log — geralmente algo como
/var/lib/mysql/seu-banco-slow.log.Como você não tem acesso direto ao sistema de arquivos do servidor (por segurança), o melhor jeito de ver o log é:
- Entrar no phpMyAdmin novamente.
- Clicar em Arquivo (no menu superior).
- Escolher Importar e carregar um arquivo de log (se você já tiver exportado).
- OU: usar um script PHP simples para ler o arquivo de log (se tiver acesso ao FTP ou Gerenciador de Arquivos).
Se quiser um jeito mais fácil, a GeHost oferece ferramentas de monitoramento integradas. Acesse o Dashboard de Métricas no cPanel (em Métricas) para ver o uso do banco de dados em tempo real.
Como interpretar o log de queries lentas
Quando o log for ativado, ele vai gravar linhas como esta:
Query_time: 3.252 Lock_time: 0.000 Rows_sent: 10 Rows_examined: 15000
SELECT * FROM produtos WHERE categoria = 'eletronicos' AND estoque > 0;
Veja o que isso significa:
- Query_time: 3,252 segundos — a consulta levou mais de 3 segundos.
- Rows_examined: 15.000 linhas lidas — isso indica que a busca está sendo feita em muitos dados.
- Isso é um sinal de que a consulta não está usando um índice (como um índice na coluna "categoria") e está varrendo muitas linhas.
Dica do Sensei: Se uma consulta lê milhares de linhas sem necessidade, é quase sempre porque falta um índice no banco. Adicionar um índice é como colocar um mapa no meio da floresta!
O que fazer depois?
Com essas informações, você pode:
- Verificar se as colunas usadas em
WHERE,JOINouORDER BYtêm índices. - Reescrever a consulta para ser mais eficiente.
- Consultar um desenvolvedor ou o suporte da GeHost para ajudar a otimizar o banco.
Importante: Lembre-se!
- O Slow Query Log consome espaço e recursos. Não deixe ativo permanentemente — ative só quando precisar diagnosticar um problema.
- Desative o log quando terminar com:
SET GLOBAL slow_query_log = 'OFF'; - Se precisar de ajuda, o nosso suporte está aqui para te ajudar — basta abrir um ticket no painel da GeHost.
Se você seguir esses passos, vai descobrir o que está deixando seu site mais lento… e, com um pouco de atenção, deixar tudo mais rápido e leve, como uma brisa no verão. 🌬️
Até a próxima, com amor, código e um café bem quente no coração. ☕