【发布时间】:2013-01-11 18:12:47
【问题描述】:
我有一个带有 MongoDB 数据存储和 JDO 实现的最新稳定 DataNucleus (3.0.1)。 该集合有大约 100 万份文档。 “id”字段被索引。 这段代码需要几分钟才能执行:
Query q = pm.newQuery(CellMeasurement.class);
q.setOrdering("id descending");
q.setRange(0, count);
Collection<CellMeasurement> result = (Collection<CellMeasurement>)q.execute();
如果我删除 q.setOrdering(...) 一切正常,对于 count=1000 加载大约需要一秒钟。
看起来 DN 进行了内存重新排序,这有什么意义吗? MongoDB 本身通过这个索引字段即时排序,API 支持排序..
有什么想法吗?谢谢。
【问题讨论】:
-
显然 3.0.1 不符合“最新稳定”(2011 年 8 月)的条件,因为每个月或多或少都有发布,并且每个发布都是“稳定的”
-
对不起,我错了,我使用的是 3.2.0 m2 构建。我也检查了当前的主干,它有相同的 TODO,所以无论如何它都不会工作。很抱歉造成混乱。
标签: mongodb jdo datanucleus nosql