我有大量高度连接的节点,有时我想从数据库中删除这些节点。通过几次遍历,我最终得到了一个要删除的节点列表:
for (Node nodeToDelete : nodesToDelete)
{
for (Relationship rel : nodeToDelete.getRelationships())
{
rel.delete();
}
nodeToDelete.delete();
}
问题是,无论我设置多大的堆,我都会收到: java.lang.OutOfMemoryError: GC overhead limit exceeded
删除大量节点的最佳方法是什么?我知道我必须先删除他们的关系,然后才能真正删除它们——我单步执行代码,它似乎在删除关系时失败了。有没有比我有更好的删除节点的功能?一切都包含在一个非常重要的事务中,因为这个删除的任何部分都不允许失败——这可能是个问题吗?
谢谢!