在db4o中是否可以使用内部提交时间戳(因为 8.0 版 db4o 允许生成提交时间戳)查询自某个特定时间以来已更改的对象?
我知道它可能是这样的:
long last = DateTime.Now.Ticks;
var objectsChanged = from obj in GetAllObjectsInDatabase(session)
where session.Ext().GetObjectInfo(obj).GetCommitTimestamp() > last
select obj;
但是对于 1000 万个对象,遍历所有对象需要很长时间(以获得 3 个对象作为结果) - 在每个对象上创建我自己的提交时间戳并将其编入索引会快得多。
从某个时刻开始,有没有更快的方法来获取数据库的变化?