2014-01-12 200 views
1

我想優化查詢,以獲取對象集合上的所有標記,但我需要幫助。目前使用收集來收集所有的標籤,但看着日誌,我看到基本上500個電話正在制定出來,並希望看到一個查詢是否可以做到這一點。優化使用收集的rails查詢

@answers = Answer.limit(500).sort_by(&:plusminus) 
@tags = @answers.collect {|answer| answer.tags} 

回答

0

使用join代替

Answer.joins(:tags).select('answers.some_field, tags.some_field') 

它會詢問一次,並且會返回一個數組或導致

+1

不錯,我知道這是什麼容易的。謝謝! –