【发布时间】:2014-03-03 04:21:22
【问题描述】:
抱歉标题含糊
我有一个查询,我在其中获取了具有最高 rating_number 的 5 个用户的列表,这是用户表中的一个索引列。
当我根据他们的rating_number 获得这些用户的列表然后调用.limit(5) 方法时,它只需要 5 个用户,然后在这五个用户上将它们按 rating_number 的顺序排列,即使这些用户不是t 具有最高 rating_number 的那些。
这是当前范围,但我知道我可以提高此查询的性能,所以如果您知道,请告诉我如何做,因为我在一页上有几个这样的查询,而且性能很差。
在我的用户模型中
scope :top_five_users, -> do
results = User.all
results.order('rating_number DESC')
results.limit(5)
end
谢谢!
【问题讨论】:
标签: sql ruby-on-rails performance ruby-on-rails-4