簡體   English   中英

為什么Derby數據庫占用這么多空間?

[英]Why does a Derby database take up so much space?

我是數據庫新手,我喜歡從關系數據庫(例如Derby數據庫)中獲取數據有多么容易。 我不喜歡一個人要占用多少數據。 我已經建立了一個包含兩個表的數據庫,向這些表總共寫入了130條記錄(每個表有6列),並且整個關系數據庫都保存在系統目錄中,作為一個文件夾,總共可以容納1914014個字節! (假設我正確地執行了算術運算……。)到底是什么引起了如此巨大的內存請求? //我還注意到, log文件夾中有一個log1.dat文件,該文件恰好占用1MB的數據。 我通過Notepad ++查看了此文件,發現它主要是NULL字符。 這是怎么回事?

Derby需要跟蹤數據庫數據,重做日志和事務,以便數據庫處於一致狀態,甚至可以從PC崩潰中恢復。 此外,他還創建了大多數具有固定大小(例如1MB)的文件,以確保以后不需要增加文件大小(性能問題並且不會將文件分割成很多)。

在運行時或停止時,Derby將清除其中一些文件或將它們重新組合並釋放空間。

因此,總體而言,空間和文件是您使用數據庫時所要權衡的。

也許您可以通過一些Derby配置更改某些這種行為(我在doc :()中找不到適合的任何一種)。

在2011年進行最后一次檢查時,一個空的Derby數據庫大約需要770 K的磁盤空間: http : //apache-database.10148.n7.nabble.com/Database-size-larger-than-expected-td104630.html

log1.dat文件是您的事務日志,它記錄數據庫更改,以便在發生崩潰(或程序調用ROLLBACK)時可以恢復數據庫。

請注意,log1.dat是磁盤空間 ,而不是內存

如果您想了解Derby交易日志的基礎知識,請從這里開始: http : //db.apache.org/derby/papers/recovery.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM