Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 开始和匹配之间的宽查询是否存在性能或执行计划差异?_Neo4j_Cypher - Fatal编程技术网

Neo4j 开始和匹配之间的宽查询是否存在性能或执行计划差异?

Neo4j 开始和匹配之间的宽查询是否存在性能或执行计划差异?,neo4j,cypher,Neo4j,Cypher,在执行查询的方式上,这两者之间是否存在有意义的差异 START n=node(*) RETURN n 开始n=节点(*)返回n 及 匹配n返回n 对于其他更具选择性的查询(例如,扫描具有特定属性和特定值的所有节点),我可以使用START子句通过auto_索引查找这些节点,也可以匹配它们。有什么区别吗?或者两者一样好吗?首先,Neo4j 2.0支持节点的模式索引,而旧版本支持传统索引 因此,这取决于您是否正在使用Neo4j 2.0,您可以直接从MATCH子句开始,并随附WHERE on some

在执行查询的方式上,这两者之间是否存在有意义的差异

START n=node(*) RETURN n 开始n=节点(*)返回n 及

匹配n返回n
对于其他更具选择性的查询(例如,扫描具有特定属性和特定值的所有节点),我可以使用START子句通过auto_索引查找这些节点,也可以匹配它们。有什么区别吗?或者两者一样好吗?

首先,Neo4j 2.0支持节点的模式索引,而旧版本支持传统索引

因此,这取决于您是否正在使用Neo4j 2.0,您可以直接从MATCH子句开始,并随附WHERE on some node属性,该属性将直接引用模式索引

如果您使用的是具有自动索引功能的旧版Neo4j,则必须使用START来使用索引

此外,您还需要特别提及索引名称和索引所基于的属性。但是,如果匹配,则会自动引用模式索引,无需明确提及

还要注意的另一点是,当前模式索引不适用于关系,而仅适用于节点。架构索引仅支持全名搜索。模式索引还不支持基于Lucene的通配符搜索。因此,同样取决于您的用例,您需要选择需要使用哪种索引,并基于此可以使用START或MATCH

MATCH n RETURN n