Como usar o slow query log do MySQL para encontrar consultas lentas
Oi! Aqui é a Sensei da GeHost 🌱 Se o seu site ou sistema anda "pesado" — carregando devagar, travando em horários de pico — muitas vezes o culpado não é o servidor em si, e sim uma consulta de banco de dados mal otimizada. O slow query log do MySQL é exatamente a ferramenta que aponta o dedo pra essas consultas lentas. Vamos entender o que é e como usar, com calma.
O que é o slow query log?
É um registro (log) onde o MySQL anota, automaticamente, toda consulta (query) que demorou mais que um tempo definido pra rodar. Em vez de você ficar adivinhando qual parte do sistema está travando tudo, o próprio banco te entrega uma lista com o "vilão" identificado — a query exata, quanto tempo ela levou e quantas linhas precisou examinar.
💡 Dica da Sensei: pense nele como um "radar de trânsito" do seu banco de dados — ele não evita o engarrafamento, mas mostra exatamente onde ele está acontecendo.
Antes de começar: um detalhe importante
O slow query log é uma configuração a nível de servidor de banco de dados, não algo que se liga por dentro do site. Como os planos de hospedagem da GeHost são em ambiente cPanel compartilhado (não é um servidor dedicado/VPS), ativar essa configuração e ajustar o tempo mínimo de registro (o famoso long_query_time) normalmente precisa passar pela nossa equipe de suporte — é uma questão de segurança e estabilidade pra todos os clientes que dividem o mesmo servidor.
Então o caminho ideal é: você identifica a suspeita de lentidão, abre um chamado no suporte pedindo a ativação (ou consulta) do slow query log pro seu banco, e a gente te ajuda a interpretar o resultado.
Passo a passo
-
Confirme qual banco está sendo usado. Acesse o cPanel em painel.gehost.com.br e entre na seção "Bancos de Dados MySQL" para ver o nome exato do banco que o seu site/sistema utiliza.
- Abra um chamado no suporte explicando a situação: "Meu site está lento em determinados momentos, gostaria de verificar se há consultas lentas no banco [nome do banco]." Isso já ajuda a equipe a agilizar a análise.
- Peça a ativação temporária do slow query log, com um limite de tempo (por exemplo, registrar tudo que passar de 1 ou 2 segundos). Esse número ideal pode variar de acordo com o seu sistema, então é normal a equipe sugerir um valor pra começar.
- Deixe rodando por um período que cubra os horários em que você percebe a lentidão (ex.: um dia inteiro, incluindo o pico de acessos).
-
Receba e leia o relatório. Cada entrada do log traz informações como:
- Query_time — quanto tempo a consulta levou pra rodar;
- Lock_time — quanto tempo ela ficou esperando outra consulta liberar a tabela;
- Rows_examined — quantas linhas o banco precisou "olhar" pra responder a consulta;
- e o texto da própria consulta SQL.
- Peça a desativação do log depois de coletado o que precisa — deixá-lo ligado por muito tempo pode consumir espaço em disco à toa.
Como interpretar o que você recebeu
Você não precisa ser DBA pra entender o básico. Fique de olho nestes sinais:
- Rows_examined muito maior que Rows_sent: a consulta está "varrendo" a tabela inteira pra achar poucos resultados. Geralmente é sinal de que falta um índice na coluna usada no filtro (WHERE).
- A mesma consulta aparece repetidas vezes: pode ser uma função do seu site/plugin/sistema rodando em loop, ou sem cache — vale revisar com quem desenvolveu o sistema.
- Query_time alto em consultas com JOIN: pode indicar que tabelas grandes estão sendo cruzadas sem índice adequado.
💡 Dica da Sensei: se você usa WordPress, Joomla ou outro CMS, muitas vezes a lentidão vem de um plugin mal otimizado ou de falta de cache — vale checar isso junto com quem cuida do desenvolvimento do site.
E se eu não tiver conhecimento técnico pra mexer no SQL?
Sem problemas — esse é exatamente o tipo de análise que o nosso suporte pode te ajudar a traduzir. Você não precisa entender de índices ou JOINs: mande o print ou o trecho do log pra gente (ou peça a leitura completa) que ajudamos a apontar o caminho, seja um ajuste no banco ou uma sugestão pra quem desenvolve seu sistema otimizar o código.
Resumo rapidinho
- Identifique o banco usado pelo seu site no cPanel;
- Abra um chamado no suporte pedindo a ativação do slow query log;
- Deixe registrar durante o período de lentidão;
- Analise (ou peça ajuda pra analisar) o relatório;
- Peça a desativação do log ao final.
Prontinho! Com esse radar ligado, fica muito mais fácil transformar "meu site tá lento" em "essa consulta específica precisa de um índice" — e resolver o problema na raiz. Qualquer dúvida, é só chamar o suporte. 🌸