Neo4j - 性能问题从元素路径返回所有节点(在链表结构中)

时间:2013-12-11 06:48:18

标签: neo4j

https://groups.google.com/forum/#!topic/neo4j/rO8ybyDPNUA

有没有解决这个问题?我正在使用Neo4j 2.0并拥有大约1300个元素的列表。我正在使用Neo4j服务器并通过浏览器输入以下密码:

MATCH(p:项目) - [r:下一个* 0 ..] - >(n)返回n LIMIT 1000;

它在那里“执行查询...”几分钟,然后给我回“未知错误”。

还尝试过: MATCH(p:Project) - [:Next *] - >(n)return collect(distinct n);

结果相同。通过REST接口至少我得到一个结果,但它需要几分钟。我的用例中的1000个节点列表很小。有没有工作?

相比之下,使用: MATCH(p:项目) - [:Child *] - >(n)return collect(distinct n); 在返回1347个节点时接近即时,但我没有关于子关系的排序/索引,我不想要它们。

更新w /个人资料信息:

* neo4j-sh (?)$ profile MATCH (p:Project)-[:Next*]->(n) return count(*);
* ==> +----------+
* ==> | count(*) |
* ==> +----------+
* ==> | 1347     |
* ==> +----------+
* ==> 1 row
* ==>
* ==> ColumnFilter(symKeys=[" INTERNAL_AGGREGATE6acd1097-3f62-4f72-b2bb-938f0d8739a1"], returnItemNames=["count(*)"], _rows=1, _db_hits=0)
* ==> EagerAggregation(keys=[], aggregates=["( INTERNAL_AGGREGATE6acd1097-3f62-4f72-b2bb-938f0d8739a1,CountStar())"], _rows=1, _db_hits=0)
* ==>   TraversalMatcher(trail="(p)-[:Next*1..]->(n)", _rows=1347, _db_hits=1347)



* neo4j-sh (?)$ profile MATCH (p:Project)-[:Child*]->(n) return count(*);
* ==> +----------+
* ==> | count(*) |
* ==> +----------+
* ==> | 1347     |
* ==> +----------+
* ==> 1 row
* ==>
* ==> ColumnFilter(symKeys=["INTERNAL_AGGREGATEdb5acb68-6927-4c42-9052-cc1f637f674b"], returnItemNames=["count(*)"], _rows=1, _db_hits=0)
* ==> EagerAggregation(keys=[], aggregates=["(INTERNAL_AGGREGATEdb5acb68-6927-4c42-9052-cc1f637f674b,CountStar())"], _rows=1, _db_hits=0)
* ==>   TraversalMatcher(trail="(p)-[:Child*1..]->(n)", _rows=1347, _db_hits=1347)

前一个需要几分钟,底部一个需要几毫秒。

0 个答案:

没有答案