Do you have any on_save callbacks on the table's model?  Those are executing on 
each run.  Also, all your validations are running as well with the save.  You 
can ignore validations by altering your code to:

Table.find(:all).each {|e| e.save(false)}

However, your callbacks will still execute and if you have any observers, those 
get called as well.  

If any of those can't be skipped with a conditional, then you can always run 
your updates with raw sql.

On Nov 18, 2009, at 2:17 PM, helzer wrote:

> Table.find(:all).each { |e| e.save }
> 
> I have some processing per entry, but even if I remove it all and just
> do the save, it takes forever.
> 
> If I return everything else and just comment out e.save it completes
> quickly.
> 
> What puzzles me is that the CPU is running 100%, 95% Ruby and only 5%
> MySQL, so the actual table updates are not the problem. Active Record
> is just loading it.
> 
> Amir
> 
> --
> 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/rubyonrails-talk?hl=en.
> 
> 

--

You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.


Reply via email to