奇怪的Neo4j Cypher查询减速

时间:2013-06-04 01:41:48

标签: neo4j cypher graph-databases

我有一个包含大约30000个节点和200000个关系的图表。 在30000个节点中,大约1000个是项目,其余是聚合。

每个聚合的关系aggregates至多为几个项目。 我正在尝试查找与我选择的某些项目汇总的项目。

START b = node:items('name:ball'),
      c = node:items('name:chocolate'),
      d = node:items('name:deck')
MATCH (magic)<-[:aggregates]-()-[:aggregates]->(b),
      (magic)<-[:aggregates]-()-[:aggregates]->(c),
      (magic)<-[:aggregates]-()-[:aggregates]->(d)
RETURN DISTINCT magic.name
LIMIT 30

我从未见过这个查询完成。考虑到仅限于2个项目的查询在一秒钟内完成,这很奇怪。

START b = node:items('name:ball'),
      c = node:items('name:chocolate')
MATCH (magic)<-[:aggregates]-()-[:aggregates]->(b),
      (magic)<-[:aggregates]-()-[:aggregates]->(c)
RETURN DISTINCT magic.name
LIMIT 30

你能指出我的查询/架构的问题吗?我知道我做错了什么,但我不知道是什么

0 个答案:

没有答案