【问题标题】:Execution time of a Neo4j queryNeo4j 查询的执行时间
【发布时间】:2015-08-15 17:17:00
【问题描述】:

我创建了这个 Neo4j 图的简单示例:

CREATE (n1:A), (n2:B), (n2:C), (n4:D)
Added 4 labels, created 4 nodes

MATCH(a:A), (b:B), (c:C), (d:D)
CREATE (d)<-[r3:r3]-(a)-[r1:r1]->(b)-[r2:r2]->(c)

现在我在这张图上做了这个查询:

MATCH (c:C)<-[r3]-(b:B)<-[r2]-(a:A)-[r1]->(d:D)
RETURN c,d

我查询了 13 次,得到的执行时间不同:

 1. 72 ms
 2. 68 ms
 3. 81 ms
 4. 25 ms
 5. 44 ms
 6. 22 ms
 7. 24 ms
 8. 53 ms
 9. 45 ms 
10. 67 ms
11. 86 ms
12. 83 ms
13. 90 ms

我在 Neo4j 中搜索效率低下的查询,我知道当有向图深入增长时,Neo4j 查询会失去效率。 不明白为什么第四次、第六次、第七次执行时间都是25ms左右。 最后,执行时间可靠吗?这样的查询是不是有点低效?

【问题讨论】:

  • 您的查询是跨整个图的全局图查询,请尝试在查询前使用 PROFILE 来查看它们接触了多少数据。

标签: neo4j nosql


【解决方案1】:

我假设您使用的是 neo4j 服务器。您看到的时间差异非常小,并且在向任何服务器发出请求时都会出现。

【讨论】:

  • 是的,它们包括例如往返延迟。 Neo4j-Shell 为您提供更好的时机。
猜你喜欢
  • 1970-01-01
  • 2022-11-04
  • 1970-01-01
  • 1970-01-01
  • 2023-02-05
  • 1970-01-01
  • 1970-01-01
  • 2019-03-02
  • 2016-01-13
相关资源
最近更新 更多