何も考えずに
User.find(:all,:conditions=>"age > 18").each do |u| #なんか処理 endみたいなことをやっていました。
データが増えるとメモリがえらいことになってしまいました。
そんな時は、
User.find_each(:conditions=>"age > 18") do |u| #なんか処理 endみたいにするとメモリの利用を削減できます。
以下が参考になります。
ここではRails3の説明となっていますが、2.3の新しいめのバージョンならば使えるようです。
http://wiki.usagee.co.jp/ruby/rails/RailsGuides%E3%82%92%E3%82%86%E3%81%A3%E3%81%8F%E3%82%8A%E5%92%8C%E8%A8%B3%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%82%88/Active%20Record%20Query%20Interface#i803e697
0 件のコメント:
コメントを投稿