Como usar o slow query log do MySQL para encontrar consultas lentas imprimir

  • 0

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

  1. 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. Tela de Bancos de Dados MySQL no cPanel
  2. 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.
  3. 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.
  4. 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).
  5. 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.
  6. 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

  1. Identifique o banco usado pelo seu site no cPanel;
  2. Abra um chamado no suporte pedindo a ativação do slow query log;
  3. Deixe registrar durante o período de lentidão;
  4. Analise (ou peça ajuda pra analisar) o relatório;
  5. 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. 🌸


Esta resposta lhe foi útil?

« Retornar