Início Para empresas Suporte Corporativo HQBird Framework de Migração Consultoria de Performance Firebird lento: as causas Consultoria de Migração Para desenvolvedores MQFS One Turbo SQL Formação Firebird Developer Canal e conteúdo Contato Falar com o MQFS
Início / Para empresas / Firebird lento
Firebird lento

Firebird lento: descubra a causa antes de mexer em qualquer coisa

Banco lento quase nunca é "o Firebird". É consulta, índice, transação longa, manutenção atrasada, versão antiga ou ambiente. A ordem certa é sempre: medir, achar o gargalo, corrigir.

Suspeitos

O que costuma estar por trás de um "Firebird lento"

Seis causas explicam a maior parte dos casos — e cada uma pede uma correção diferente.

Consulta sem índice

A varredura completa da tabela é o motivo nº 1 de lentidão — e normalmente o mais rápido de corrigir.

Índice existe, mas não é usado

Estatística desatualizada ou índice inadequado fazem o otimizador escolher o pior caminho.

Transação longa aberta

Uma transação esquecida segura versões antigas de registro e degrada a leitura de todos os usuários.

Manutenção atrasada

Base acumulando versões antigas (sweep atrasado) responde cada vez mais devagar.

Versão antiga do Firebird

Versões defasadas ficam sem correções e perdem ganhos de otimizador com bases grandes.

Ambiente e hardware

Disco saturado, memória curta, antivírus e backup rodando junto com o sistema em produção.

Diagnóstico

Onde o tempo vai embora

Antes de "otimizar", é preciso provar onde está o gargalo — com número, não com palpite. É isso que o diagnóstico entrega.

Cuidado com a ordem. Se a versão do Firebird é antiga, parte do ganho está na migração de versão — e não no tuning. São caminhos diferentes.
Ver a consultoria de performance

1. Plano de execução

O caminho que o Firebird escolheu para cada consulta que dói: índice, ordem de join, varredura.

2. Estatísticas

Índice com estatística velha entrega plano ruim — medimos e recalculamos.

3. Transações e lixo

Quem está segurando as versões antigas: transações longas, conexões esquecidas e sweep atrasado.

4. I/O real

Onde o disco é consumido de verdade: leitura de dados, índices, backup e concorrência.

5. Versão e ambiente

O que a sua versão entrega comparado ao que a atual entrega — e o que o servidor aguenta.

No dia a dia

Quando já passou do "está um pouco lento"

Sinais que aparecem em produção

  • Tela que respondia em 1 segundo agora demora 10.
  • Relatório que rodava de manhã só termina à tarde.
  • O sistema trava no horário de pico e volta sozinho.
  • Backup que levava 20 minutos passou de 2 horas.
  • O disco não para de trabalhar — e o processador está ocioso.

Nenhum desses sintomas se resolve reiniciando o servidor.

O que não resolve

  • Trocar de banco: o problema costuma ir junto.
  • Comprar servidor mais forte antes de medir.
  • Rodar sweep todo dia como rotina.
  • Criar índice em toda coluna "por garantia".
  • Reiniciar o serviço quando o sistema trava.
Perguntas frequentes

Dúvidas de quem convive com o Firebird

As perguntas que mais chegam no dia a dia de quem depende do banco.

Meu Firebird ficou lento de repente. Por onde começo?

Medindo. Plano de execução das consultas que travam, transações abertas e uso real de disco. Sem medir, qualquer mudança é chute — e costuma piorar em outro ponto.

Criar índice resolve lentidão?

Resolve quando o gargalo é varredura de tabela. Índice inadequado ou índice demais também deixa o banco lento: aumenta o custo de escrita e pode levar o otimizador a escolher o pior caminho.

Sweep todo dia resolve?

Não. Sweep é manutenção, não cura: rodar sempre num banco cheio de transações longas só disputa o disco com o sistema em produção. O caminho é descobrir o que gera o lixo.

Vale trocar o servidor por um mais forte?

Só depois de saber onde está o gargalo. Boa parte da lentidão é de banco e consulta — e hardware novo não conserta consulta ruim.

E se a minha versão do Firebird for antiga?

Aí o ganho pode estar na migração de versão, não no tuning. São dois caminhos diferentes: migração e performance.

Firebird lento na sua empresa?

Me conta o cenário: versão, tamanho da base e quando trava. Eu digo onde está o ganho mais rápido.