Como monitorar consultas lentas (slow queries) no MySQL
Oi! Aqui é a Sensei da GeHost 🙂 Se o seu site ou sistema anda "travando" às vezes, especialmente em páginas que buscam muita informação no banco de dados, o problema pode estar em uma consulta lenta — um comando SQL que demora mais do que deveria para trazer a resposta. Vamos entender juntos o que é isso e como identificar (e evitar) esse tipo de gargalo, com calma e sem complicação.
O que é uma "consulta lenta"?
Todo site que usa banco de dados (como WordPress, sistemas próprios, lojas virtuais etc.) faz perguntas ao MySQL o tempo todo: "me traga os últimos 10 posts", "busque esse cliente pelo e-mail", e por aí vai. Quando uma dessas perguntas demora muito para ser respondida — por falta de organização na tabela, volume grande de dados, ou um comando mal escrito — chamamos isso de slow query, ou consulta lenta.
💡 Dica da Sensei: uma consulta lenta isolada quase nunca é motivo de pânico. O problema é quando ela se repete várias vezes por minuto — aí sim ela pode deixar o site inteiro arrastado para todo mundo que visita.
Sinais de que você pode ter consultas lentas
- O site demora mais que o normal para carregar, principalmente em páginas com listas, buscas ou relatórios;
- Aparecem erros de tempo esgotado ("timeout") em formulários ou páginas específicas;
- O problema piora em horários de mais acesso (picos de visitantes);
- Um plugin, extensão ou funcionalidade específica sempre trava antes das outras.
Como identificar consultas lentas
1. Se você usa WordPress ou outro CMS
A forma mais simples para um cliente leigo é usar um plugin de diagnóstico, como o Query Monitor (gratuito, para WordPress). Ele mostra, em tempo real, quais consultas ao banco estão demorando mais em cada página — sem precisar mexer em nada no servidor.
- No painel do WordPress, vá em Plugins → Adicionar novo;
- Busque por "Query Monitor" e instale/ative;
- Abra o site normalmente e olhe a barra que aparece no rodapé da tela — ela mostra o tempo total de consultas ao banco e destaca as mais lentas.
2. Se você tem acesso ao banco pelo cPanel
Você pode acessar a área de bancos de dados no seu cPanel para conferir os bancos existentes e entrar no phpMyAdmin, onde é possível analisar tabelas e consultas manualmente.
- Acesse seu cPanel e procure o ícone Bancos de Dados MySQL (ou o atalho para phpMyAdmin);
- Dentro do phpMyAdmin, selecione o banco do seu site na lateral;
- Use a aba de Estrutura das tabelas para verificar se as colunas usadas em buscas e filtros têm índices configurados (índices ajudam o MySQL a "achar" a informação mais rápido).
⚠️ Importante: em hospedagem compartilhada, o registro detalhado de "slow query log" do MySQL fica em nível de servidor, então o cliente não ativa isso diretamente pelo cPanel. Se quiser esse tipo de análise mais profunda, é só abrir um chamado com o suporte GeHost pelo painel.
Boas práticas para evitar consultas lentas
- Use índices nas colunas que você mais filtra ou ordena (como
e-mail,data,id); - Evite trazer tudo de uma tabela (comandos do tipo "traga tudo") quando você só precisa de algumas colunas ou de um número limitado de resultados;
- Mantenha plugins e temas atualizados — muitas consultas lentas vêm de código desatualizado ou mal otimizado;
- Ative cache quando seu CMS ou aplicação permitir — isso evita repetir a mesma consulta pesada toda hora;
- Limpe dados antigos que não são mais usados (revisões antigas, logs, spam) — tabelas menores tendem a responder mais rápido.
Quando chamar o suporte da GeHost
Se depois de revisar os pontos acima o problema continuar, não se preocupe: nossa equipe pode te ajudar a investigar o que está pesando no banco. Basta abrir um chamado pelo painel.gehost.com.br descrevendo o comportamento (quando acontece, em qual página, se piora em horários específicos) — quanto mais detalhes, mais rápido conseguimos ajudar.
🌱 Dica da Sensei: guarde sempre prints ou horários exatos em que notou a lentidão — isso ajuda demais nossa equipe a cruzar a informação com os registros do servidor e resolver mais rápido.