问题描述
|
我正在使用Ruby on Rails 3.0.7,并且正在尝试最大程度地减少数据库命中率。为此,我从数据库中检索与
User
相关的所有Article
对象,然后对这些检索到的对象进行搜索。
我要做的是:
stored_objects = Article.where(:user_id => <id>) # => ActiveRecord::Relation
<some_iterative_function_1>.each { |...|
stored_object = stored_objects.where(:status => \'published\').limit(1)
...
# perform operation on the current \'stored_object\' considered
}
<some_iterative_function_2>.each { |...|
stored_object = stored_objects.where(:visibility => \'public\').limit(1)
...
# perform operation on the current \'stored_object\' considered
}
<some_iterative_function_n>.each { |...|
...
}
ѭ3代码会真正避免打到数据库(我问这是因为在我的日志文件中,它的接缝仍在为ѭ4迭代运行数据库查询)?如果没有,如何最大程度地减少数据库命中率?
P.S .:用几句话来说,我想做的是在ActiveRecord::Relation
(的数组)上工作,但是调用的where
方法却接缝到数据库。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)