我是新來的rethinkdb,我喜歡它,但我發現一些問題,當我試圖優化我的查詢,並使其在更大的數據集上工作。 問題很簡單。我需要通過timestamp(row.to),tag(row.tags),timestamp(row.from)排序,然後爲分頁切片來過濾我的「事件」表。Rethinkdb getAll,orderBy與索引 - 標籤
row.tags有一個多索引,效果很好!
row.from和row.to是Event的開始/結束時間。
慢速查詢(testeded在100K的條目)是這樣的:
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