性能:最小化数据库命中率

问题描述

| 我正在使用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 (将#修改为@)