代码之家  ›  专栏  ›  技术社区  ›  NinjaCat

db4o:压实/收缩

  •  2
  • NinjaCat  · 技术社区  · 16 年前

    有人知道压缩db4o数据库的方法吗?

    1 回复  |  直到 11 年前
        1
  •  3
  •   Gamlor Gabriele Ran    16 年前

    你说的压缩/收缩是什么意思?使现有数据库变小?还是要压缩数据库?

    defragmentation

    当您存储大量字符串时,应该考虑使用 UTF8 encoding 而不是默认的完全unicode。这节省了很多空间,因为现在一个字符只使用一个字节。

    EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
    config.common().stringEncoding(StringEncodings.utf8());
    ObjectContainer database = Db4oEmbedded.openFile(config,"database.db4o");
    

    请注意,不能更改现有数据库的此设置!您需要对数据库进行碎片整理才能更改字符串编码。

    要压缩数据库,可以使用压缩 storage-implementation . 但是,我不知道有什么可用的实现可以做到这一点。