我想在postgres中向数组列插入一些数据。
sample_model = MyModel.create
100.times do
sample_model.array.push [Time.now.to_i, 1234]
sample_model.save
end
这需要0.5秒才能完成,效率非常低。此代码每次都会覆盖该数组。使用mongoDB和mongoid的相同代码大约需要0.08秒才能完成。
sample_model = MyMongoidModel.create
100.times do
sample_model.push(array: [[Time.now.to_i, 1234]])
end
有没有办法像mongo那样向postgres数组列插入一个元素呢?我甚至会考虑任何纯SQL解决方案。
答案 0 :(得分:0)
SQL解决方案:
class MyModel < ActiveRecord::Base
has_many :time_entries, dependent: :destroy, inverse_of: :my_model
end
class TimeEntry < ActiveRecord::Base
belongs_to :my_model, inverse_of :time_entries
validates_presence_of: time
end
100.times {MyModel.last.time_entries.create(time: Time.now)}
答案 1 :(得分:0)
我认为选项3 - 单个质量插入是您正在寻找的。 p>