我正在使用neo4j社区版本,我有1个节点的“城市”,大约5000个“BusinessDetails”节点与“城市”到“BusinessDetails”的实际“CONTAINS”连接,当凌晨1点使用cypher查询
MATCH (n:City{name : "hyderabad"})-[:CONTAINS]->(p:BusinessDetails) return p
获取结果需要大约8秒钟。如何优化这个?为什么要花这么多时间? 我对neo4j很新。
答案 0 :(得分:1)
首先请确保您已在城市名称
上添加了索引CREATE INDEX ON :City(name)
下一步始终在单独的匹配语句中匹配过滤
MATCH (n:City{name : "hyderabad"})
MATCH n-[:CONTAINS]->(p:BusinessDetails)
RETURN p
这会提升你的表现。无论如何,这可能是一个配置问题或硬件,因为你正在谈论与我正在使用的非常小的数字,但我仍然有更好的性能。