Hi guys,
I need to load a big amount of records from a table (around 20000). So I am using find_each. In the RDoc it says: "When processing large numbers of records, it‘s often a good idea to do so in batches to prevent memory ballooning."
I am not sure I get it though, indeed:
1- If I do:
Foo.find_each(:batch_size => 1000) do |lfoo| end
RAM use go from 33MB before to 92MB after.
2- Now if I do:
temp = Foo.find(:all, :limit => 1000)
RAM use go from 33MB before to 35MB after.
How come does find_each use so much memory? I must be missing something obvious?
I am on Rails 2.3.2.
Thanks a lot, Pierre