我想将信息从redis 传输到mysql。
一开始是从redis中获取user_id和score。
info = $redis.zrevrange("some_info", 0, limit - 1, withscores: withscores)
然后我需要处理这些日期:
total_info = info.each_slice(2).to_a.inject([]) do |sum, e|
sum << {
id: id,
name: name,
rank: rank,
score: score,
}
total_info
是一个大小为 100000+ 的数组。
然后我需要将total_info
的记录插入到mysql中。
我尝试创建一个循环来插入,但我认为这不是一个好主意。
如何制作?最快的方法是什么?
最佳答案
您可以使用 Active Record Import在他的 Fastest Version .
这是一个例子:
columns = [ :id, :name, :rank, :score ]
values = []
infos.each do |info|
values << [info.id, info.name, info.rank, info.score]
end
Model.import columns, values, validate: false
关于mysql - 在 rails 中向 mysql 插入 100000 多条记录的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33296811/