Neo4j 高分贝命中率

Neo4j high db hits

我是 Neo4j 的新手,正在尝试根据性能测试我的查询。

如果我做一个简单的查询:

PROFILE
MATCH (P:User) 
WHERE P.id = 1 
SET P.name = "test" 
Return P, P.name

有 50k 个用户节点,但对于此查询,在 75 毫秒内有 100 009 个数据库命中。

例如:这个查询:

MATCH (P1:User {id: "xxx"}) 
MATCH (P2:User {id: "xxx"}) 
MERGE (P1)-[fo:FOL]->(P2) 
on match set P1.fol2 = P1.fol2 -1
on match set P2.fol = P2.fol -1
MERGE (P1)<-[fo1:FOL]-(P2) 
on match set P1.fol = P1.fol -1
on match set P2.fol2 = P2.fol2 -1
MERGE (P1)-[:FRI]-(P2) 
On create set P1.fri= P1.fri +1
on create set P2.fri = P2.fri +1
DELETE fo, fo1

此查询需要 201015 次数据库命中和 751 毫秒。

有没有办法减少数据库命中率,因为我猜这些数字太高了?

提前致谢!

User

上为 属性 id 创建索引
CREATE INDEX user_id FOR (n:User) ON (n.id)

这肯定会加快您的查询速度