Guia

Banco de dados lento: quando o problema exige otimização?

O banco de dados exige otimização quando consultas que deveriam levar milissegundos levam segundos, quando o uso de CPU do banco fica alto mesmo com poucos usuários ou quando a lentidão cresce junto com o volume de dados. A causa mais frequente é simples: falta de índices nas colunas usadas em filtros e ordenações.

Publicado em · 1 min de leitura

Sinais de que o banco é o gargalo

  • Telas com filtros e buscas ficam lentas, telas simples não
  • Lentidão aumenta com o tempo, sem mudança no código
  • Uso alto de CPU ou disco no servidor do banco
  • Consultas aparecem no registro de consultas lentas

Causas comuns

CausaExplicação simples
Falta de índiceO banco lê a tabela inteira para achar poucos registros, como ler um livro sem índice
Consultas em laçoUma consulta por item em vez de uma consulta para todos
Buscar colunas e linhas demaisTrazer tudo para usar pouco
Buscas com curinga no inícioPesquisas do tipo “contém” em textos grandes, sem estrutura adequada
Tabelas enormes sem arquivamentoDados antigos que poderiam estar separados
TravasOperações longas segurando tabelas que outras precisam

Como identificar o que otimizar

Ative o registro de consultas lentas do banco e use ferramentas de monitoramento da aplicação. Para cada consulta lenta, o comando de explicação do banco (EXPLAIN, no MySQL e no PostgreSQL) mostra como ela é executada e se usa índices. Comece pelas consultas que somam mais tempo no dia: uma consulta de 200 ms executada milhares de vezes pesa mais que uma de 5 segundos executada uma vez.

Cuidados

Índices aceleram leituras, mas ocupam espaço e deixam gravações um pouco mais lentas. Crie os que as consultas reais precisam, não índices em todas as colunas. Em tabelas grandes, criar índices pode travar a tabela: planeje fora do horário de uso.

Veja também relatórios lentos e dashboard lento. Otimizamos bancos de dados de sistemas existentes no nosso serviço de manutenção de sistemas PHP e Laravel.

Continue lendo

Seu concorrente já tem um site. E você?

Receba um orçamento personalizado em minutos. Sem compromisso, sem enrolação.

  • Resposta rápida no WhatsApp
  • Orçamento 100% gratuito
  • Garantia de 7 dias

🔒 Seus dados estão seguros. Sem spam.