3

这个对我来说很有趣——尽管标题几乎是空洞的。我已经使用 Firebird 很长时间了,但直到最近才注意到一个有趣的行为。

我正在使用嵌入式 Firebird 1.5,并注意到如果我将数据库塞满 blob(比如说 10mb),数据库的大小会增加。然后我可以删除数据库中的所有字段,并且数据库的文件大小保持在其扩展大小。目前它是 20mb 并且完全是空的。

我知道 Firebird 在其架构中内置了这个(用于快速索引、速度问题等),但我一直认为它会降低到原来的 ~2mb 默认值。

有人对“缩小”文件大小有任何建议吗?原因是这是一个空间意识问题。如果我有大量的工作空间,我不会在意。然而事实并非如此,我需要尽可能优化

4

1 回答 1

5

释放 firebird 数据库中未使用空间的唯一方法是进行备份,然后立即恢复该备份(参考:Firebird 常见问题解答)。

是一个很好的技术解释为什么会这样。

请注意,Firebird 将重用当前未使用的空间 - 即。如果您现在再放入 10MB 的 blob,则数据库不应增长到 30MB。

于 2010-01-11T23:05:42.950 回答