Rails将大量哈希数据保存到数据库中



我有一个包含 2M 数据的Hash。我需要将所有数据从hash传输到database.哈希键适合数据库列。

我不确定我在下面使用的方式是最好的方法。

# users is a hash with 2M data.
users.each do |u|
user = User.new(u)
user.save!
end

使用 Rails 迭代此类海量数据的最佳方式是什么?

ActiveRecord.create也接受哈希。因此,我只会尝试:

User.create(users)

2M 可能有点太大,您可能需要分批工作。但我建议这比每条记录一个插入更快。

尝试使用活动记录导入 gem(https://github.com/zdennis/activerecord-import#hashes(。您甚至可以使用批处理(https://github.com/zdennis/activerecord-导入#批处理(插入记录

User.import(users, batch_size: 1000)

最新更新