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,此查询需要15832毫秒,并在我的应用程序中超时。我的应用程序对每个查询所花费的时间都有时间限制。有没有办法加快这一进程?之所以速度慢,是因为“产品”节点有很多实例 确保您已经在:Product(type)上创建了一个,如下所示: match (s:Product {type:'Phone'})-[r]->(o:Attributes {Resolution:'2000'}) return s, o limit 2 该索引将加速查找具有指定类型值的所有产品节点 或者,如果具有任何给定的分辨

此查询需要15832毫秒,并在我的应用程序中超时。我的应用程序对每个查询所花费的时间都有时间限制。有没有办法加快这一进程?之所以速度慢,是因为“产品”节点有很多实例

确保您已经在
:Product(type)
上创建了一个,如下所示:

match (s:Product {type:'Phone'})-[r]->(o:Attributes {Resolution:'2000'}) return s, o limit 2
该索引将加速查找具有指定
类型
值的所有
产品
节点

或者,如果具有任何给定的
分辨率
值的
属性
节点相对较少,则可以在
:Attributes(Resolution)
上添加索引,并提供使用该索引的提示 (如果您在
:Product(type)
上也有索引):


确保您已经在
:Product(type)
上创建了一个,如下所示:

match (s:Product {type:'Phone'})-[r]->(o:Attributes {Resolution:'2000'}) return s, o limit 2
该索引将加速查找具有指定
类型
值的所有
产品
节点

或者,如果具有任何给定的
分辨率
值的
属性
节点相对较少,则可以在
:Attributes(Resolution)
上添加索引,并提供使用该索引的提示 (如果您在
:Product(type)
上也有索引):


我已经有了这方面的索引。即便如此,如果一个“类型”有上千万个产品,在数百万个产品列表中搜索仍然需要很多时间。对吧?这个新查询只需要1毫秒。太棒了!你能解释一下为什么速度会这么快吗?难道它还需要搜索所有的产品实例吗?一旦通过索引找到少数匹配的
属性
节点,neo4j只需要遵循这些节点的关系,并测试另一端的
产品
节点。我已经有了这方面的索引。即便如此,如果一个“类型”有上千万个产品,在数百万个产品列表中搜索仍然需要很多时间。对吧?这个新查询只需要1毫秒。太棒了!你能解释一下为什么速度会这么快吗?难道它还需要搜索所有的产品实例吗?一旦通过索引找到少数匹配的
属性
节点,neo4j只需要跟踪这些节点的关系,并在另一端测试
产品
节点。
MATCH (s:Product {type:'Phone'})-->(o:Attributes {Resolution:'2000'})
USING INDEX o:Attributes(Resolution)
RETURN s, o
LIMIT 2