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
如何提高neo4j中密码查询的速度?_Neo4j_Cypher - Fatal编程技术网

如何提高neo4j中密码查询的速度?

如何提高neo4j中密码查询的速度?,neo4j,cypher,Neo4j,Cypher,我已经建立了一个Neo4J数据库,其中包含14k个节点和15k个关系。运行此查询时: MATCH (n:RealNode {gid:'12'})<-[:contains*..4]->(z) RETURN DISTINCT ID(z), z.id,n.id as InternalID MATCH(n:RealNode{gid:'12'})(z)返回不同的ID(z),z.ID,n.ID作为内部ID 获得响应需要5秒以上的时间。如果我把4改成10,那要花更多的时间 我附上特定节点的

我已经建立了一个Neo4J数据库,其中包含14k个节点和15k个关系。运行此查询时:

  MATCH (n:RealNode {gid:'12'})<-[:contains*..4]->(z) RETURN DISTINCT ID(z), z.id,n.id as InternalID
MATCH(n:RealNode{gid:'12'})(z)返回不同的ID(z),z.ID,n.ID作为内部ID
获得响应需要5秒以上的时间。如果我把4改成10,那要花更多的时间

我附上特定节点的节点和关系的屏幕截图:

My n:RealNode是粉红色的,包含关系的节点是灰色的

我的问题如下: 1) 如何优化查询的速度(除了索引)。 2) 如果我将所有灰色节点直接放在粉色节点下,速度会有所不同吗?

正如您所说的“除了索引”,我假设您有一个正确的模式索引:RealNode(gid)

但是,您的查询不会使用索引,因为您在整个模式上进行了匹配(对于Neo4j有效,正如您所说的“除了索引之外”,我假设您有一个正确的模式索引:RealNode(gid)


但是,您的查询不会使用索引,因为您匹配的是整个模式(对Neo4jThanks的答案有效)。您建议,执行两个不同的查询是不可能的,因为我通过web应用程序执行查询(通过发送post请求)我现在需要的是响应。但如果这是唯一的解决方案,也许我应该更改代码。箭头是否也会影响速度?如果是,如何影响?我在两侧设置会导致一些节点有不同的方向。我的neo4j版本是2.1.6。Christophe的代码片段不是两个查询,而是一个查询有两个匹配项链接在一起r、 无论如何,此查询不会返回与我相同的结果。请提供两个查询的配置文件输出。这样我们可以更好地调试和帮助谢谢您的回答。您的建议是,执行两个不同的查询是不可能的,因为我通过web应用程序执行查询(通过发送post请求)我现在需要的是响应。但如果这是唯一的解决方案,也许我应该更改代码。箭头是否也会影响速度?如果是,如何影响?我在两侧设置会导致一些节点有不同的方向。我的neo4j版本是2.1.6。Christophe的代码片段不是两个查询,而是一个查询有两个匹配项链接在一起r、 无论如何,这个查询不会返回与我相同的结果。那么请提供两个查询的概要文件输出。这样我们可以更好地调试和帮助
MATCH (n:RealNode {gid:'12'})
MATCH (n)-[:contains*..4]-(z) RETURN DISTINCT ID(z), z.id,n.id as InternalID