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
。ロードに約 1 秒かかります。
DN がメモリ内の並べ替えを行っているように見えますが、意味はありますか? MongoDB 自体は、このインデックス付きフィールドによって即座に注文します。API は注文をサポートしています。
何か案が ?ありがとう。