微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Neo4j 高分贝命中率

如何解决Neo4j 高分贝命中率

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

如果我做一个简单的查询

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

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

例如:这个查询

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 db hits 和 751ms。

有没有办法减少数据库访问次数,因为我猜这些数字太高了?

提前致谢!

解决方法

RechargeResponse 上的属性 id 创建索引,

User

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。