我经常遇到这种情况。
post_comments = post.comments
#grabs maybe 3 records out of thousands in the table
do_something_with post_comments
#...later in the same request...
subset_of_comments = post_comments.where(:awesome=>true)
#hits the database again :-(
do_something_else subset_of_comments
我意识到数据库非常擅长查找记录,但我不知道返回完整表并查看数千条记录比搜索已为 1 缓存的此帖子所附的一小部分记录更好或者两个我需要。
如果我想提高这个过程的效率,我该怎么做?