2014-01-12 147 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

不错,我知道这是什么容易的。谢谢! –