0
rethinkdbから3つ目のレコードを取得したいとします。とするのは簡単です。rethinkdbからN個の最後のレコードを高速に取得する方法は?
objects = r.db("db").getAll(val, {index:"index"}).limit(N)
しかし、あなたは数で取得する必要があり、最後のNレコードを取得するオブジェクトの数と、このようにスライスしないために:
count = r.db("db").getAll(val, {index:"index"}).count(N)
objects = r.db("db").getAll(val, {index:"index"}).slice(count - N, count)
巨大ながあります時間の差:golangで.Limitと
第1取ります63.28276ms
golangで.Sliceを持つ2つ目は取ります1.028439202s
Doing orderBy
タイムスタンプによっては、すべての処理がさらに遅くなります。
これは、スピードの観点から見ればわかります。このクエリは、データベース内の26,000のドキュメントで実行されます。 これを解決する方法についていくつか考えが必要です。