我正在使用Berkeley DB處理大量數據管理需求。不過,我注意到,當我從數據庫中刪除一大組值時,磁盤上數據庫文件的實際大小似乎並沒有縮小。我猜測BSD DB只是在文件內部解除分配記錄,而實際上不需要回收那些不再需要使用的部分。「整理」BSD DB文件
我一直在搜索API,但我找不到任何方法讓BSD DB實際「清理」文件並回收頁面。是否有一個我只是錯過了,或者是創建一個更小的DB文件以從現有數據創建一個新文件並替換舊文件的唯一方法?
我正在使用各種版本,通過4.8到5.3,但我不認爲這應該很重要。
對於不回收空間系統,一個來壓縮他們的方法是創建一個新的數據庫,並從舊的內容複製到新的。然後在確認克隆成功後刪除舊的。 – Bill