2017-05-05 42 views
0

我在RethinkDB中有一個包含3百萬條推文的表。插入時,每個字段都有一個紀元時間。我可以通過關鍵字排序來查詢最近24小時內的推文(大約50k)我嘗試了下面的一些東西,但它確實很慢。Rethinkdb:查詢從大表中獲取過去24小時內的項目

`r.db('twitter').table('tweets') 
    .group('keyword') 
    .filter((row) => { 
    return row('epoch_time').gt(r.now().sub(86400)); 
    }) 
    .orderBy(r.desc('time')) 
    .pluck('url', 'text') ` 

回答

0

有點晚了我想象,但可能會幫助其他人在他們的搜索結果中找到它。

  • 組(「關鍵詞」)返回的減少所以不會有一個「epoch_time」
  • ,如果你知道你只是想從過去的24小時鳴叫然後把該過濾器第一。 RethinkDB中沒有查詢優化器。
  • 如果性能仍然是後一個問題,通過「關鍵字」考慮把索引上「epoch_time」,更改您的過濾器(不表掃描),以GETALL ...
  • 如果還是後一個問題,指數
+0

感謝您的回答。我嘗試了沒有組查詢,但它仍然非常緩慢。你可以給一個完整的例子如何重寫? – crisscross

相關問題