Última modificação em: 01/08/2022
"Sweep" é um recurso que limpa registros lixo do banco de dados. Quando um registro é excluído (DELETE) ou atualizado (UPDATE) o Firebird mantém uma cópia antiga do registro no arquivo do banco de dados (BANCO.FDB), ainda que esta cópia não seja visualizada ao fazer o SELECT no banco de dados.
Como a remoção de dados do arquivo consome tempo de processamento considerável, o Firebird não o faz constantemente, mas sim, em intervalos. Se a instalação padrão do BANCO.FDB for de 20.000 registros, quando este número é atingido o banco de dados executa automaticamente um "Sweep" (limpa o lixo).
Como o banco de dados não escolhe a hora mais adequada para executar o "Sweep", muitas vezes o processo é executado exatamente quando o usuário está a pleno uso do acesso ao banco de dados. Quando isto ocorre, o banco aumenta o tempo de resposta tornando perceptível ao usuário.
Em instalações de uso intenso, uma possibilidade é desabilitar este processo automático e passar a fazê-lo em momento programados. Ex: quando liga a máquina (servidor), ou ainda, programada para executar fora do expediente.
O Sweep é zerado automaticamente quando são atingidos determinados números pré-configurados, no caso, 20.000 transações.
Para executar ou realizar o agendamento do "sweep" no Windows, o usuário deve acessar o aplicativo "nSQL.exe", no menu "Conexão" e selecionar a opção "Sweep".
OBS: executar o aplicativo "nSQL.exe" como "Administrador do Windows".
Na janela aberta haverá três opções:
Por padrão, o banco de dados está definido para executar automaticamente o sweep sempre que chegar a um total de 20000 transações, onde o usuário pode clicar em zerar sweep interval, definindo esse valor para 0 e em seguida clicar em agendar sweep para que a tarefa seja agendada no Windows, o qual o usuário poderá definir datas e horários para que o processo seja executado.
Ao zerar o intervalo do"Sweep" o valor passa a ser zero.
Para consultar o intervalo do "Sweep" basta executar, qualquer módulo do sistema, a rotina localizada no menu Utilitários \ Banco de dados \ Informações de Conexão, conforme imagem abaixo:
Ao criar um agendamento de tarefa para execução do "Sweep" o usuário deve observar algumas opções na configuração da tarefa: