neo4j 的密码查询花费了太多时间 "MATCH (n:City{name : "hyderabad"})-[:CONTAINS]->(p:BusinessDetails) return p"
neo4j is taking too much time for the cypher query "MATCH (n:City{name : "hyderabad"})-[:CONTAINS]->(p:BusinessDetails) return p"
我正在使用 neo4j 社区版本,我有 1 个 "City" 节点,以及大约 5000 个 "BusinessDetails" 节点与 "CONTAINS" 从 "City" 到 "BusinessDetails" ,当凌晨 1 点使用密码查询时
MATCH (n:City{name : "hyderabad"})-[:CONTAINS]->(p:BusinessDetails) return p
获取结果大约需要 8 秒。如何优化这个?为什么要花这么多时间?
我真的是 neo4j 的新手。
首先确保你已经在城市名称上添加了索引
CREATE INDEX ON :City(name)
Next always 在单独的匹配语句中匹配过滤
MATCH (n:City{name : "hyderabad"})
MATCH n-[:CONTAINS]->(p:BusinessDetails)
RETURN p
这会稍微提高你的表现。无论如何,这可能是配置问题或硬件问题,因为与我正在使用的相比,您谈论的数字非常小,但我仍然拥有更好的性能。
我正在使用 neo4j 社区版本,我有 1 个 "City" 节点,以及大约 5000 个 "BusinessDetails" 节点与 "CONTAINS" 从 "City" 到 "BusinessDetails" ,当凌晨 1 点使用密码查询时
MATCH (n:City{name : "hyderabad"})-[:CONTAINS]->(p:BusinessDetails) return p
获取结果大约需要 8 秒。如何优化这个?为什么要花这么多时间? 我真的是 neo4j 的新手。
首先确保你已经在城市名称上添加了索引
CREATE INDEX ON :City(name)
Next always 在单独的匹配语句中匹配过滤
MATCH (n:City{name : "hyderabad"})
MATCH n-[:CONTAINS]->(p:BusinessDetails)
RETURN p
这会稍微提高你的表现。无论如何,这可能是配置问题或硬件问题,因为与我正在使用的相比,您谈论的数字非常小,但我仍然拥有更好的性能。