1
我想查看圖中所有的「用戶」節點並對它們執行一些操作。neo4j處理一個迭代器上的長轉換
問題是我有太多「用戶」節點,我無法將它們全部放在堆上。
所以,做這樣的事情:
try (Transaction tx = graphDb.beginTx())
{
Iterator<Node> n_column = autoNodeIndex.get("type", "user");
while (n_column.hasNext()) {
//create relationship for node...
}
tx.success();
}
會導致GC開銷例外。
如何將它拆分爲少量事務,但在同一個迭代器上?
我想過嵌套事務,但手冊中有不同的說法。嵌套事務將本地內存滾動到頂部事務。
作品!當我關閉事務時,我認爲它會終止迭代器。我想這不是... – skme
我的數據庫變大了,現在它有1000萬用戶。所以現在,它不能再工作......在〜60k用戶之後,我在java堆上再次發生「outOfMemory」錯誤。我認爲每次關閉事務時都會清除關係,但迭代器會一直保存堆中的數據。我怎樣才能避免這種情況? – skme