如何加快这个密码查询?

时间:2018-04-02 21:58:02

标签: neo4j cypher

match (s:Product {type:'Phone'})-[r]->(o:Attributes {Resolution:'2000'}) return s, o limit 2

此查询需要15832毫秒并在我的应用程序中超时。我的应用程序对每个查询花费的时间有一个时间限制。有没有办法加快这个过程?缓慢的原因是因为“Product”节点有很多实例。

1 个答案:

答案 0 :(得分:1)

确保您在:Product(type)上创建了Documentation,如下所示:

CREATE INDEX ON :Product(type);

该索引将加速查找具有指定Product值的所有type个节点。

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

MATCH (s:Product {type:'Phone'})-->(o:Attributes {Resolution:'2000'})
USING INDEX o:Attributes(Resolution)
RETURN s, o
LIMIT 2