我是數據庫的新手,我很喜歡從關係數據庫(如Derby數據庫)獲取數據的容易程度。我不喜歡的是一個數據佔多少;我創建了一個包含兩個表的數據庫,向這些表中總共寫入了130條記錄(每個表都有6列),整個關係數據庫作爲一個總共大約1914014字節的文件夾保存在系統目錄中! (假設我的算術權是......)發生如此巨大的記憶請求會發生什麼? //我還注意到log
文件夾中有一個log1.dat
文件,它佔用了1MB的數據。我通過Notepad ++查看了這個文件,發現它主要是NULL
個字符。那是什麼?爲什麼Derby數據庫佔用這麼多空間?
0
A
回答
1
當在2011年最後一次檢查,一個空的Derby數據庫大約需要770的K磁盤空間:http://apache-database.10148.n7.nabble.com/Database-size-larger-than-expected-td104630.html
的log1.dat文件是事務日誌和記錄數據庫變化,使數據庫可以,如果有一個崩潰恢復(或者,如果你的程序調用ROLLBACK)
注意LOG1。 .dat是磁盤空間,而不是內存。
如果您想了解德比交易日誌的基本知識,請從這裏開始:http://db.apache.org/derby/papers/recovery.html
4
德比需要跟蹤您的數據庫數據,重做日誌和事務,以便您的數據庫處於一致狀態,甚至可以從電腦崩潰中恢復。 他還創建了大多數具有固定大小(比如1MB)的文件,以確保他以後不需要增加文件大小(性能問題並且不會將他的文件碎片太多)。
在運行時或停止時,Derby將清理一些這些文件或重新組合它們並釋放空間。
因此,整體而言,空間和文件是您使用數據庫的權衡。
也許你可以通過一些德比CONFIGS改變一些這種行爲(我沒有找到合適的文檔:(任意一個)。
相關問題
- 1. 爲什麼Grunt/Gulp插件佔用這麼多空間?
- 2. 爲什麼會有這麼多空間?
- 3. 這個程序爲什麼佔用這麼多內存?
- 4. 我不明白爲什麼有這麼多的空白空間?
- 5. CSS:爲什麼這個標籤佔據了所有可用空間
- 6. 爲什麼我的python進程會佔用這麼多內存?
- 7. 爲什麼空的IndexedDB仍佔用空間?
- 8. 爲什麼我的Derby數據庫ping與ClassNotFoundException失敗?
- 9. 爲什麼在堆棧上分配這麼多空間?
- 10. 爲什麼宏需要比等價定義的函數佔用更多空間?
- 11. 爲什麼HTML元素佔用的空間比應該多得多?
- 12. 這個空間爲什麼會出現?
- 13. 爲什麼這麼多canOpenURL?
- 14. 爲什麼沒有成員變量的C++類佔用空間?
- 15. 爲什麼QT的iOS組件佔用大量磁盤空間?
- 16. 爲什麼不可見的LinearLayout佔用空間?
- 17. 爲什麼我的div不會佔用所有剩餘空間?
- 18. 爲什麼需要多個數據庫?
- 19. 什麼是Oracle 10G和Derby數據庫的列數限制
- 20. 數據庫佔用比表結合方式更多的空間
- 21. 爲什麼亞馬遜在其HTML中有這麼多的空白空間?
- 22. 不知道什麼是佔用這麼多的內存?
- 23. Docker中爲什麼使用「數據空間」+「數據空間可用」!=「數據空間總量」?
- 24. 爲什麼草圖在arduino中佔用了太多的空間和內存?
- 25. 爲什麼我的HSQLDB表格在磁盤上佔用太多空間?
- 26. 爲什麼這麼多sp_procedure_params_100_managed調用?
- 27. 爲什麼一些yeoman腳手架佔據了這麼大的空間?如何優化?
- 28. 爲什麼腳本在IE 11中佔用太多時間?
- 29. 爲什麼SQL select在java中佔用更多的CPU時間?
- 30. 什麼導致我的div容器有這麼多的空間?