我正在尝试删除数百条记录上的重复节点,可以多次插入相同的消息。
我的第一次尝试是
START n=node(*), m=node(*)
WHERE HAS (n.msgid) AND HAS (m.msgid) AND n.msgid=m.msgid AND id(n)<id(m)
DELETE n
但这种情况非常缓慢,任何人都有更好的表现吗?
答案 0 :(得分:3)
您正在创建所有节点的交叉产品。
试试这个:
CREATE INDEX ON :Label(msgid);
MATCH (n)
WHERE n.msgid
MATCH (m:Label {msgid:n.msgid})
WHERE id(n)<id(m)
DELETE n