首页 > 解决方案 > 简单但很长的请求

问题描述

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

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

它将注册玩家的每个旧昵称。

我只想为每个玩家创建/合并一个节点别名,并将它们连接起来。

大约有 10 万个 Player 节点。

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

当我描述请求时,我有:

在此处输入图像描述

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

标签: performanceneo4jrequestcypher

解决方案


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

CREATE INDEX ON :Alias(name);

推荐阅读