0
背景:我有一個需要對其「投票」進行排序的帖子列表,然後顯示前50個帖子。增加Rails 3性能的方法
目標:我目前使用.take(50)
來實現這一點,因爲使用.limit(50)
或.first(50)
顯示了UNSORTED的前50個帖子。
使用.take
使應用程序異常緩慢,是否有任何替代方法?
Post.all(:order => "votes", :limit => 50)
這會生成SQL,只有選定50個員額,但下令:
另外,如果你還沒有它,你可能想要一個投票指數。如果投票是一個關聯而不是一個列,你應該看看「counter_cache」,否則我的答案可能無法工作。 – drewrobb 2011-03-07 21:09:20
Post.order(「votes」)。limit(50).all對於rails3來說會更好 – 2011-03-07 21:26:11
@fd - 你需要'.all'方法嗎? – 2011-03-08 01:02:17