我正在使用Berkeley dbxml 2.5.16。首先,我将文档 Test.xml 插入到 myDb.dbxml 容器中。
dbxml> putDocument KEY_1 Test.xml`
然后我检查了容器的文件大小,
bash-3.2$ ls -ll ${dbxml-home}/myDb.dbxml
rw-r----- 1 raga raga **679936** Jul 31 21:53 myDb.dbxml*
然后我从容器中删除了相同的文档,
dbxml> removedocument KEY_1
Document deleted, name = KEY_1
我再次检查了容器的文件大小。
bash-3.2$ ls -ll ${dbxml-home}/myDb.dbxml
rw-r----- 1 raga raga **679936** Jul 31 23:07 myDb.dbxml
我的怀疑是,即使从容器中删除文档,文件大小也保持不变。这是否意味着文件未正确删除或仅删除了内容但引用仍然存在? (所有操作均在事务下完成(
我不记得为什么那个版本仍然保留它的大小;一种理论是,你可能需要对容器本身进行sync
调用。
我强烈建议升级到最新版本(6.1.4(。数据库引擎有很多改进可以解决这样的问题。您可以在 http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html 获得最新信息。