Cypher查询复杂性

时间:2015-11-06 18:20:35

标签: neo4j cypher time-complexity

如何找出Cypher查询的复杂性?

这是我的疑问:

MATCH (G1:FirstGraph) 
MATCH (G2:SecondGraph {IdRule:G1.IdRule}) 
WHERE G2.VRule<>G1.VRule  
MATCH (R:Rule{IdRule:G1.IdRule}) 
WITH G1,G2, count(R) as NbrOfVers
MATCH (T:ResultNode)
WITH T,sum(1-(tofloat(ABS(G2.VRule-G1.VRule))/NbrOfVers)) AS sum
SET T.SubCorrel = sum

1 个答案:

答案 0 :(得分:3)

确定Cypher查询“费用”的一种方法是使用PROFILE关键字在您的查询之前。配置文件输出为您提供了执行查询所用的步骤,它还会告诉您它执行了多少次DB命中。

通常,您希望尽量减少数据库命中数,因为它们相对较贵。

如果PROFILE(和EXPLAIN)可以在computational complexity中输出查询的big O notation,那就太好了,但目前还没有完成。< / em>的