私はすべてを a にロードするのが不思議Spring Mongo API
でした。検索結果に数十億件のレコードが含まれている場合、メモリに影響はありませんか? これをすべてメモリにロードせずに、これを達成するためのより良い方法を誰かが提案できますか。limit を使用すると役立つ場合がありますが、新しいドキュメントがコレクションに挿入されているかどうかがわからないという欠点があります。レコードを読み取った後にコレクションが変更された場合、制限による検索は同じ効果があります。find
List
X of billion
2つの質問:
- すべてをメモリにロードしないことでパフォーマンスを向上させる
- 処理中に追加されたこの未知のドキュメントをどのように解決しますか?
API からのコード
List<T> result = new ArrayList<T>();
while (cursor.hasNext()) {
DBObject object = cursor.next();
result.add(objectCallback.doWith(object));
}