首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby on Rails Postgres/Active Record搜索优化

Ruby on Rails Postgres/Active Record搜索优化
EN

Stack Overflow用户
提问于 2017-11-24 22:50:20
回答 0查看 39关注 0票数 0

所以有可能没有办法解决这个问题,但我想我会问:

我设置了一个Postgresql DB。第一个表包含回放,每个回放都有10个唯一的玩家(一个有很多关系)。我想根据我的搜索结果呈现一个JSON,其中包含播放器的回放。然而,我拉出了大量的回放(2000) --它们都有10个玩家,这意味着要搜索20,000个玩家。

下面是索引搜索当前的样子:

代码语言:javascript
运行
复制
def index
  @replays = Replay.where(map_id: params['map_id'].to_i)
  @replays = @replays.reverse
  render json: @replays[0..2000].to_json(include: [:players])
end

搜索需要这么长时间:

代码语言:javascript
运行
复制
Completed 200 OK in 639596ms (Views: 42.1ms | ActiveRecord: 329252.3ms)

有没有更好的方法可以搜索和呈现JSON,而不需要这么长时间?值得注意的是,仅仅搜索2k重放,20k播放器,甚至是单个特定的播放器重放只需要几秒钟(第一次搜索本身也只需要几秒),所以我认为这是一个音量问题。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47475634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档