0

我在 Neo4j 浏览器中运行下面的查询。我在数据库中有 2 个标签和 1 个关系。一个标签有 50,000 个节点,另一个标签有 1,800 个节点,有 48,000 个关系。

MATCH (u)-[r]->(n) WITH u, COLLECT(n) AS ns, COLLECT(r) AS rs WHERE SIZE(ns) > 1 RETURN u, ns, rs

此查询需要大约 5 分钟才能运行,尽管生成的代码选项卡Started streaming 7437 records after 98 ms and completed after 199 ms.显示我认为这可能是由于可视化过程造成的,所以我进行了配置并将初始节点显示、最大邻居和最大行数全部设置为 0。它仍然需要约5分钟。关于什么可能导致这种滞后的任何想法?

4

1 回答 1

1

延迟可能是由于服务器正在向 neo4j 浏览器发送大量数据。即使您告诉浏览器不显示所有返回的数据,它仍然必须处理从服务器发送的所有数据。

LIMIT如果您修改 Cypher 查询以告诉服务器它发回的数据量,浏览器应该会更快地响应。例如,仅显示 10 个u节点及其数据:

MATCH (u)-[r]->(n)
WITH u, COLLECT(n) AS ns, COLLECT(r) AS rs
WHERE SIZE(ns) > 1
RETURN u, ns, rs
LIMIT 10;
于 2018-10-01T22:57:30.520 回答