我正在使用active import导入评论,并使用Ancestry构建评论树。导入期间(尚未创建主键bin/flume-ng agent -n TwitterAgent -f ./conf/flume.conf
时,有什么方法可以创建后代树吗?
当前,我要导入所有注释,然后遍历每个注释以添加父注释,即使使用索引也非常慢:
id
我正在使用Trigram索引来加快comments_to_import = []
import_data.each do |comment|
comments_to_import << Comment.new(is_parent: comment.parent_uuid.nil?, uuid: comment.uuid, parent_uuid: comment.parent_uuid, body: comment.body)
end
Comment.import comments_to_import
# build comment tree
Comment.where(is_parent: false, ancestry: nil).all.each do |c|
parent = Comment.find_by(uuid: c.parent_uuid)
c.update(parent: parent)
end
查询(这是祖先在构建树时使用的查询)。不幸的是,遍历数百万条评论时仍需要花费很长时间来构建。
like