当模型是嵌套集时,如何执行散装插入到数据库中



我有一个涉及嵌套集数据结构的模型,因此我使用了act_as_nested_set Gem。现在,我需要大量插入1万张记录。如果不是嵌套的数据结构,则批量插入可能会更容易且迅速。但是,随着嵌套设置,每个插入更新祖先链中的所有记录。因此,这需要太长。

我想到创建内存树并维护LFT,RGT,深度,Children_Count,Depth,然后将它们插入质量,但是我不确定在内存中创建100万个复杂的对象是否是个好主意。

您可以使用 activerecord-import gem,activerecord-import是使用activerecord插入数据的库。

github链接:https://github.com/zdennis/activerecord-import

,例如

books = []
10.times do |i|
  books << Book.new(name: "book #{i}")
end
Book.import books  

最新更新