在Neo4j(3.0版)中,以下查询返回相同的结果:
1. MATCH (a:Label) WHERE a.property = "Something" RETURN a
2. MATCH (a:Label {property: "Something"}) RETURN a
在玩一些大型数据集时,我注意到(并使用EXPLAIN
和PROFILE
进行了验证),在某些情况下,第二个查询会执行得越来越好。虽然存在两个版本同等执行的其他实例,但我还没有看到第一个版本表现更好的情况。
neo4j文档和教程也是分开的。两者之间没有明确的比较。文档和tuts使用两个版本,通常倾向于第一个版本(可能因为非精确匹配只能使用WHERE
子句 完成)。但指南还指出,越早缩小搜索范围,搜索速度越快。
答案 0 :(得分:2)