Rethinkdb:查询从大表中获取过去24小时内的项目

时间:2017-05-05 11:54:46

标签: rethinkdb rethinkdb-javascript

我在RethinkDB中有一个由300万条推文组成的表。插入时,每个字段都有一个纪元时间。我可以通过关键字排序过去24小时(大约50k)的推文快速获取javascript查询?我试过下面的东西,但它真的很慢。

`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') `

1 个答案:

答案 0 :(得分:0)

我想你有点晚了,但可能会帮助那些在搜索结果中找到这个的人。

  • 群组('关键字')会返回缩减,因此无法获得' epoch_time'
  • 如果您知道自己只需要过去24小时内的推文,那么请先放置该过滤器。 RethinkDB中没有查询优化器。
  • 如果之后性能仍然存在问题,请考虑在' epoch_time'上添加索引。并将您的过滤器(进行表扫描)更改为getAll ...
  • 如果之后仍然存在问题,请按'关键字'
  • 编制索引