【问题标题】:Neo4j Cypher Query performanceNeo4j Cypher 查询性能
【发布时间】:2011-11-14 16:21:00
【问题描述】:

我使用标签概念查询了与另一个类似的搜索元素:

START similar=node:TYPE_INDEX("type1"), to=node(20325) 
match similar-[:TAGGED]->tag<-[:TAGGED]-to
return distinct similar, count(tag)
order by count(tag) DESC

“相似”是一组使用 type 属性索引的节点。 “To”是我必须与“相似”节点进行比较的节点。

类似查询本身返回500个节点,关系TAGGED的计数是3000。标记节点是500。 在我的机器上,这个查询需要 50 秒。

删除 order by 子句和/或 count 子句不会提高性能。

【问题讨论】:

  • 能否提供您的测试数据库或数据生成器,我想看看它并对其进行分析?

标签: neo4j cypher


【解决方案1】:

您使用的是哪个版本的 Neo4j?你如何执行查询(REST、web-console、shell、java)?这是会话中的第一次运行还是第二次或第三次运行?

你能试着重写你的匹配子句,让to先出现吗?应该没什么区别,但知道会很有趣。

match to-[:TAGGED]-&gt;tag&lt;-[:TAGGED]-similar

非常感谢。

【讨论】:

  • 我用的是Java,版本是1.5M02,不是第一次在会话中运行。我试图将“to”与“similar”颠倒过来,没有区别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
相关资源
最近更新 更多