Existe uma maneira de regerar completamente todos os índices em um banco de dados FireBird
sem ser através do backup/restore?
Ao longo de meses ou anos, o banco de dados está ficando cada vez mais lento,
mas ao fazer um backup e restaurar a correção é imediata. Gostaria de obter o mesmo resultado sem ter
parar a execução do sistema.
O que eu tentei até agora:
- Recalcular estatísticas sobre todos os índices(
FOR SELECT rdb$index_name
FROM rdb$indices
INTO :name DO
SET STATISTICS INDEX :name).
Este parecia ter um efeito pequeno, então eu comecei a executá-lo automaticamente a cada mês,
mas o efeito é muito pequeno e, eventualmente, um backup / restore é
novamente necessário.
- Backup e restauração. Isso funciona muito bem, mas requer um acesso exclusivo
ao banco de dados. E meus usuários não estão muito felizes em parar o serviço para fazer Backup / Restore.
Eu estou usando o Firebird versão 2.5
Alguém pode me apontar para alguma solução com gbak ou gfix que eu desconheça,
ou alguma outra solução que possa ser utilizada em tempo de execução?
Att.
Antar Ferreira