有谁知道缩小/压缩 db4o 数据库的方法?
问问题
659 次
1 回答
3
紧凑/收缩是什么意思?缩小现有数据库?还是要压缩数据库?
其作用之一是碎片整理。这释放了数据库中未使用的空间。删除对象时,数据库不会收缩。相反,该空间被标记为可用于新对象。但是,随着数据库的操作加班,文件会变得支离破碎。所以碎片整理会带回数据库中未使用的空间。
当您存储大量字符串时,您应该考虑使用UTF8 编码而不是默认的完整 unicode。这节省了大量空间,因为现在一个字符只使用一个字节。
EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
config.common().stringEncoding(StringEncodings.utf8());
ObjectContainer database = Db4oEmbedded.openFile(config,"database.db4o");
请注意,您不能更改现有数据库的此设置!您需要对数据库进行碎片整理以更改字符串编码。
要压缩数据库,您可以使用 compressing storage-implementation。但是我不知道有任何可用的实现可以做到这一点。
于 2010-07-13T09:47:53.970 回答