2013-07-26 152 views
1

当执行以下暗号查询:很慢CYPHER查询(Neo4j的)

START me=node(2) MATCH (me)-[:likes]->page<-[:likes]-(person) WHERE NOT(me-[:isFriendOf]-person) RETURN person 

我观察以下执行时间:

163ms 
173ms 
177ms 
210ms 
174ms 
etc. 

该图表由6个用户节点,第6级的节点的并共有12种关系:

  • 人isFriendOf Person;
  • 人喜欢Page;

这看起来不像正常行为。这可能是什么原因?

+0

你能分享你的创建语句,以便我可以在本地测试吗?你可以在neo4j-shell(neo4j V2)中使用'dump'。 –

回答

2

问题解决。

性能问题是由于不使用全局或 线程本地ExecutionEngine引起的。 不要为每个请求创建ExecutionEngine,但始终线程为本地(或全局),否则您将终止缓存。

+0

感谢您报告回来。 –