neo4j删除节点Neo.TransientError.General.MemoryPoolOutofMemoryError

原因:

MATCH (n)
DETACH DELETE n;

当我们运行上述语句时,出现报错Neo.TransientError.General.MemoryPoolOutofMemoryError,报错详情如下图:

当我单个删除节点时,当某个节点有大量的数据,导致这个节点比较大,无法通过寻常删除节点的语句删除。就比如Disease这个节点就无法删除,也会报这个错误Neo.TransientError.General.MemoryPoolOutofMemoryError

# 删除Disease标签的所有节点和关系
match (n:Disease) detach delete n

解决方法:

1、首先,先说下我的方法,我是通过分批次删除来解决的。

MATCH (n:Test_items) DETACH DELETE n 
        RETURN count(n) AS deleted_count#分批次删除节点
MATCH ()-[r:relation]-() WITH r LIMIT 1000000 DELETE r RETURN count(*);#分批次删除关系

2、以下这个方法对我不适用,仅供参考。

在windows环境下,在cmd窗口运行neo4j-import命令前,先设置一个环境变量,

比如设置为4G set HEAP_SIZE=4096m

修改 neo4j.conf 中的配置 (docker 中默认为512m)

dbms.memory.heap.initial_size=2048m

dbms.memory.heap.max_size=4096m

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值