Pregunta

Este es interesante para mí, a pesar del título casi inanitivo. He usado Firebird durante mucho tiempo, pero hasta hace poco noté un comportamiento interesante.

Estoy usando Firebird 1.5 incrustado, y noté que si relleno la base de datos llena de blobs (digamos 10 MB), aumenta el tamaño de la base de datos. Luego puedo eliminar todos los campos en la base de datos, y el tamaño del archivo del DB permanece en su tamaño expandido. Actualmente está a 20 MB y está completamente vacío.

Sé que Firebird tiene esto integrado en su arquitectura (para indexación rápida, problemas de velocidad, etc.), pero siempre pensé que disminuiría a su valor predeterminado original de ~ 2 MB.

¿Alguien tiene alguna sugerencia para 'desinflar' el tamaño del archivo? La razón es que este es un problema consciente del espacio. Si tuviera toneladas de espacio para trabajar, no me importaría. Sin embargo, ese no es el caso, y necesito que las cosas sean lo más óptimas posible

¡Gracias!

¿Fue útil?

Solución

La única forma de liberar espacio no utilizado en una base de datos de Firebird es hacer una copia de seguridad que una restauración inmediata de esa copia de seguridad (referencia: Preguntas frecuentes de Firebird).

Aquí es una buena explicación técnica de por qué esto es así.

Tenga en cuenta que Firebird reutilizará el espacio actualmente no utilizado, es decir. Si coloca otros 10 MB de blobs ahora, la base de datos no debe crecer a 30 MB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top