提高Rails 3性能的方法

时间:2011-03-07 21:02:50

标签: ruby-on-rails ruby-on-rails-3

背景:我有一个帖子列表,需要对其“投票”进行排序,然后显示前50个帖子。

目标:我目前正在使用.take(50)来完成此操作,因为使用.limit(50).first(50)显示前50个帖子已取消。

使用.take会使应用程序异常缓慢,是否有此方法的替代方法?

1 个答案:

答案 0 :(得分:3)

您可以使用以下内容组合限制和订单子句:

Post.all(:order => "votes", :limit => 50)

这会生成仅选择50个帖子但已订购的SQL。