私はrethinkdbする新たなんだと私はそれを愛するが、私は私のクエリを最適化し、それがより大きなデータセット上で動作させるためにしようとしたとき、私はいくつかの問題を発見しました。 問題は簡単です。RethinkdbのgetAll、インデックスの[並べ替え - タグ
"イベント"テーブルをタイムスタンプ(row.to)、タグ(row.tags)、タイムスタンプ(row.from)で並べ替え、ページ分割するためにスライスする必要があります。
row.tagsには複数のインデックスがあり、うまく機能します。
row.fromとrow.toは、イベントの開始/終了時間です。
(100Kエントリにtesteded)スロークエリはこれです:
r.db("test").table("event")
.getAll(r.args(["148a6e03-b6c3-4092-afa0-3b6d1a4555cd","7008d4b0-d859-49f3-b9e0-2e121f000ddf"]), {"index": "tags"})
.filter(function(row) {return row("to").ge(r.epochTime(1480460400));})
.orderBy(r.asc("from"))
.slice(0,20)
私は 'から' のインデックスを作成し、
.orderBy(r.asc("from"),{index:'from'})
を実行しようとしましたが、私は
を取得e:インデックス付きorder_byは、TABLEまたはTABLE_SLICEでのみ実行できます。
多分この単純なタスクを行う方法があり、私はすでにRethinkdbのインデックス交差点に関する問題について読み、多分私は何かを欠場。
ありがとうございます。
ご迷惑をおかけして申し訳ありません。私はすでにそれをしましたが、インデックスでソートすれば、もうgetAllを使うことはできません! – xtian