0

我有一个涉及嵌套集数据结构的模型,所以我使用了 act_as_nested_set gem。现在,我需要批量插入更多 10 万条记录。如果不是嵌套的集合数据结构,批量插入可能会更容易和更快捷。但是使用嵌套集,每次插入都会更新祖先链中的所有记录。所以,这需要很长时间。

我想创建内存树并维护 lft、rgt、深度、children_count、深度,然后批量插入它们,但我不确定在内存中创建 10 万个复杂对象是否是个好主意。

4

1 回答 1

0

您可以使用activerecord-importgem,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  
于 2019-07-05T09:29:30.180 回答