首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多节点Neo4j匹配查询优化

多节点Neo4j匹配查询优化
EN

Stack Overflow用户
提问于 2018-09-28 15:14:09
回答 1查看 32关注 0票数 0

我正在3个表上运行查询,这3个表与应用程序的id相同。但是,此查询运行的时间太长,无法获得任何结果。如何优化此查询?用于创建两个边的application_id对于Sms和Pcb节点应该是相同的。

这是查询本身:

代码语言:javascript
复制
 MATCH (pcb:PhoneContactsBook)-[:APP_PCB]->(a:Applications)-[:APP_SMS]->(sms:Sms)
    RETURN distinct a.application_id

为了得到查询计划,我用LIMIT 200,000运行这个查询,我在1251ms内总共得到了1046648次db命中。

以下是查询计划:

EN

回答 1

Stack Overflow用户

发布于 2018-09-28 20:22:12

首先,要获得查询计划,您可以使用EXPLAIN而不是PROFILE

  • EXPLAIN不运行查询,只给你执行查询的query
  • PROFILE的查询计划,并给你查询的结果+它的查询计划

我在这里看不到任何优化,因为您正在请求数据库为您提供特定模式的所有实例,并且没有where子句、子语句、聚合……

但是看起来在你的数据库中有很多这种模式的实例(超过200000),这就是为什么这个查询需要花费一些时间(每个模式大约6微秒已经不错^^)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52550233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档