2
A
回答
2
這是火鳥的許多痛苦之一。備份/使用gbak
1
火鳥偶爾會運行一個掃刪除索引等記錄還原數據庫,並恢復用於其他用途的空間 - 要做到這一點 最佳和唯一有效和正確途徑。換句話說,只要掃描已經運行,您將具有與數據庫文件較小相同的性能。如果您正在嘗試這樣做,您可以強制立即掃描。
但是,無論如何,實際數據庫的大小不會縮小,除非執行備份和還原。如果size是一個問題,使用-USE_ALL_SPACE參數爲gbak,它將阻止爲未來的記錄保留空間,這將產生一個較小的數據庫。
0
許多用戶不知道爲什麼他們沒有得到他們的磁盤空間,回來的時候,他們 從數據庫中刪除了很多紀錄。
原因是這是一個昂貴的操作,它需要大量的磁盤寫入和內存 - 就像對硬盤分區進行碎片整理一樣。 這些數據所使用的數據庫(頁面)部分被標記爲空,並且Firebird將在下次需要寫入新數據時重新使用它們 。
如果磁盤空間對您很重要,您可以通過 進行備份和恢復。由於您正在執行備份到 立即恢復,所以使用「禁止垃圾回收」 或「不使用垃圾回收」開關(gbak中的-G)是明智的做法,這將使 備份成爲一個LOT FASTER 。垃圾收集用於清理數據庫,由於它是一項維護任務,它通常與 一起進行備份(因爲備份必須通過整個數據庫)。 但是,您很快就會丟棄該數據庫文件,並且沒有需要清理它的 。
相關問題
- 1. 如何一次刪除多條記錄?
- 2. 刪除多條記錄與子表
- 3. MS Access:如何使用多個條件刪除一條記錄?
- 4. 在軌道中刪除多條記錄
- 5. 無法刪除多條記錄
- 6. 優化刪除引用多個表
- 7. 多刪除記錄
- 8. 如何刪除最後一個記錄
- 9. Php數組完全刪除1001條記錄後記錄
- 10. 如何優化包含LIKE'%abc%'查詢的160多萬條記錄的MySQL表
- 11. 如何刪除sqlite中的最後10條記錄
- 12. 如何刪除MySQL中第n行之後的每條記錄?
- 13. 如何檢查刪除的記錄是否是最後一條記錄MySQL PHP
- 14. 最後一個連接表的記錄(如何優化)
- 15. 使用Nhibernate刪除父項後,刪除多對多表中的所有記錄
- 16. 我應該重置表索引/刪除多行後優化嗎?
- 17. 使用check_box_tag和的link_to如何刪除多條記錄 - Rails4
- 18. 如何使用kendoui刪除網格中的多條記錄
- 19. 如何使用複選框刪除多條記錄?
- 20. 如何優化從多個表中獲取記錄
- 21. 優化刪除
- 22. 如何使用CakePHP和AJAX從表中的多條記錄中刪除單條記錄
- 23. 防止訪問表中最後一條記錄被刪除
- 24. 刪除功能刪除表中的最後一條記錄。 js jquery.updated
- 25. 如何從mysql表中刪除重複的記錄,但有1條記錄
- 26. 使用HQL語句刪除ID列表中的多條記錄
- 27. Algolia:從儀表板刪除多條記錄
- 28. SQL Server觸發器從多個表中刪除一條記錄
- 29. SQL服務器多表記錄刪除
- 30. 刪除多個記錄相關表