limit()
の使用 サーバーに通知します kを超えて取得しないこと ドキュメント。いくつかの最適化を許可して、帯域幅の消費を減らし、並べ替えを高速化します。最後に、limit句を使用すると、サーバーはRAMで並べ替えるときに利用可能な最大32 MBをより適切に使用できるようになります(つまり、並べ替え順序をインデックスから取得できない場合)。
さて、長い話:find()
カーソルを返します。デフォルトでは、カーソルは結果をバッチでクライアントに転送します。 ドキュメント
から 、:
limit()
の使用 カーソルは、必要以上に多くのドキュメントを取得する必要はありません。したがって、帯域幅の消費と遅延が削減されます。
ユースケースを考えると、おそらくsort()
を使用することに注意してください。 操作も。上記と同じドキュメントから:
そして、 sort()ドキュメントページ さらに説明します:
その32MBの制限は、limit()
を使用した並べ替えに固有のものではありません。 句。インデックスから順序を取得できないソートには、同じ制限があります。ただし、プレーン サーバーが保持する必要のあるすべてを並べ替える それらをソートするためにそのメモリ内のドキュメント。 制限付き 並べ替え、保存する必要があるのは k 同時にメモリ内のドキュメント。