Pergunta

Este é interessante para mim - apesar do título quase insano. Eu uso o Firebird há muito tempo, mas até recentemente notei um comportamento interessante.

Estou usando o Firebird 1.5 incorporado e notei que, se eu encher o banco de dados cheio de blobs (digamos 10MB no valor), o tamanho do banco de dados aumenta. Eu posso excluir todos os campos no banco de dados e o tamanho do arquivo do banco de dados permanece em seu tamanho expandido. Atualmente, está em 20 MB e está completamente vazio.

Eu sei que o Firebird tem isso embutido em sua arquitetura (para indexação rápida, problemas de velocidade etc.), mas sempre pensei que diminuiria de volta ao seu padrão original de ~ 2Mb.

Alguém tem alguma sugestão para 'desviar' o tamanho do arquivo? A razão é que essa é uma questão consciente do espaço. Se eu tivesse toneladas de espaço para trabalhar, não me importaria. No entanto, esse não é o caso, e eu preciso que as coisas sejam o mais ideais possível

Obrigado!

Foi útil?

Solução

A única maneira de libertar o espaço não utilizado em um banco de dados Firebird é fazer um backup e depois uma restauração imediata desse backup (referência: Faq Firebird).

Aqui é uma boa explicação técnica de por que isso é assim.

Observe que o Firebird reutilizará o espaço atualmente não utilizado - ou seja. Se você colocar outros 10 MB de blobs agora, o banco de dados não deve crescer para 30 MB.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top