我只想问一个非常简单的问题。假设neo4j提供的样本电影数据库和以下两个查询:
MATCH (n:Person)-[:ACTED_IN]->(m:Movie {title:"The Matrix"})
RETURN n,m
和
MATCH (n:Person)-[:ACTED_IN]->(m:Movie)
WHERE m.title = "The Matrix"
RETURN n,m
两个查询在计算上是等效的还是第一种情况更有效?
我看到它的方式,似乎在第一种情况下,MATCH产生所请求的子图"在飞行中"在遍历原始图表时。但是在第二种情况下,MATCH产生一个更大的子图,然后在冗余节点被过滤后减少到所请求的子图,对吗?任何人都能以某种方式证实这一假设,还是错误?
答案 0 :(得分:1)
如果您想检查您的neo4j版本,如果此查询相同,则应使用profile
语句。点击此处了解更多信息http://neo4j.com/docs/stable/how-do-i-profile-a-query.html