如何提高节点上关系计数的性能
使用 Cypher,可以如下方式计算关系数量
MATCH (n:Actor {name:'Sylvester Stallone'})-->() RETURN count(*);
这将报告名为 Sylvester Stallone 的 `Actor` 的传入/传出关系数量。
使用 `bin/neo4j-shell` 并对查询运行配置文件将生成以下输出
Cypher 可以重写为
MATCH (n:Actor {name:'Sylvester Stallone'})
RETURN size((n)-->())
其配置文件为
从上面的配置文件中,您将看到对 `GetDegree(n,None,BOTH)` 的引用,这是由于使用了 `size( (n)-[]-());` 而产生的。因此,我们实际上并没有执行从 `(n)` 的关系遍历,而是查询与给定节点一起存储的度值。
在上面的 `GetDegree()` 表达式中,第二个参数指的是关系名称,第三个参数指的是关系的方向。
例如,以下 Cypher
MATCH (n:Actor {name:'Sylvester Stallone'})
RETURN size( (n)-[:ACTED_IN]->())
将生成以下配置文件
从而产生 `GetDegree(n,Some(ACTED_IN),OUT)`
此页面是否有帮助?