我的 Db4o 数据库中有 7000 个对象。
当我检索所有对象时,它几乎是即时的.. 当我添加一个 where 约束即 Name = "Chris"时,需要 6-8 秒。
发生什么事了?
我还看到了一些关于使用 Lucene 进行搜索类型查询的评论,有人对此有任何好的链接吗?
最佳答案
有两件事需要检查。
- 您是否添加了“Db4objects.Db4o.NativeQueries”程序集?如果没有这个组件,native query cannot be optimized 。
已设置索引 on the field哪个代表名字?索引应该使查询速度更快 索引:
cfg.Common.ObjectClass(typeof(YourObject)).ObjectField("fieldName").Indexed(true);
关于Db4o 选择性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2216333/