简单但很长的请求

Simple but very long request

我正在尝试执行这个简单的请求:

MATCH (p:Player)
MERGE (a:Alias {name:p.name})
MERGE (p)-[r:AKA]->(a)
RETURN count(*)

它会为玩家注册每一个旧昵称。

我只想create/merge为每个Player建立一个节点Alias,然后连接他们。

大约有 10 万个玩家节点。

我不明白为什么要花这么长时间。

当我描述请求时,我有:

我真的不明白为什么我有一个大约有 30 亿行的分支。

您可以做的第一个改进是在 :Alias(name) 上创建一个索引,您将在查询中看到一个疯狂的差异:

CREATE INDEX ON :Alias(name);