Mysql 在ActiveRecord中高效批量更新?

Mysql 在ActiveRecord中高效批量更新?,mysql,ruby-on-rails,ruby,activerecord,Mysql,Ruby On Rails,Ruby,Activerecord,如何在ActiveRecord中高效地批量更新记录?我试图填充一个依赖于另一列的列 这是我现在的代码: Tweet.find_in_batches do |group| to_be_saved = [] group.each do |t| t.creation_date_posix = DateTime.strptime(t.creation_date_str, '%m/%d/%Y %H:%M').to_time.to_i to_be_saved << t

如何在ActiveRecord中高效地批量更新记录?我试图填充一个依赖于另一列的列

这是我现在的代码:

Tweet.find_in_batches do |group|
  to_be_saved = []
  group.each do |t|
    t.creation_date_posix = DateTime.strptime(t.creation_date_str, '%m/%d/%Y %H:%M').to_time.to_i
    to_be_saved << t
  end
  Tweet.transaction do
    to_be_saved.each{|t| t.save}
  end
end
Tweet.find_in_batch do|group|
要保存=[]
分组,每组|
t、 creation_date_posix=DateTime.strtime(t.creation_date_str,'%m/%d/%Y%H:%m')。to_time.to_i

一般来说,要保存,而不是将批量更新分散在
n
sql write语句上,您可以使用以下命令将它们组合成一个。(取决于许多变量)这可以提高您的整体性能。

如何使用update\u all将一个字段设置为另一个字段的函数?试着看看我上面的代码,第4行。我正在根据另一个列(creation\u date\u str)的值设置一个列(creation\u date\u posix),这将不会调用回调,因此如果您将来添加回调,可能会中断