2013年03月22日16:17 Ruby Railsで大量のデータをまとめて更新するならfind_each使うよね ということでメモ程度ですが書いときます。 Railsには find_each というメソッドが用意されています。通常の each メソッドを使用すると、全データをまとめてメモリに展開してから処理を開始します。そのため、十分にメモリに載るデータ量であれば何も問題ないですが、数百万、数千万というデータ量になってくるとメモリに載りきらずに溢れてしまって大変なことになります。 find: 全データをメモリに展開してから処理 find_each: 少しずつデータをメモリに展開しつつ処理 そういうときには find_each メソッドを使いましょう。これは少しずつデータをメモリに展開して処理を行います(デフォルトでは1,000件ずつ)。全部まとめてではなくちょっとずつメモリに展開してく