Firebird 数据库不断变大

问题描述 投票:0回答:1

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

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

我知道 Firebird 已将此内置到其架构中(用于快速索引、速度问题等),但我一直认为它会减少到原来的 ~2mb 默认值。

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

firebird firebird1.5
1个回答
5
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.