Neo4J查询与巨大的数据库非常慢

时间:2019-12-04 13:02:40

标签: neo4j cypher

我有一个拥有2900万个节点和4300万个关系的数据库

我需要查询以查找艺术家的名字

UIView

因此,我有一些艺术家可能已被某公司订阅,并且可能是某些团体的成员。 我需要捕获该信息,当我执行查询时花了很长时间,因为我的观点有点慢,超过6秒,我已经附加了个人资料

enter image description here

是否有一些技巧可以提高性能?

我对艺术家的名字有INDEX,并且对:Artist(name,group)的索引是

在此先感谢您的帮助

1 个答案:

答案 0 :(得分:1)

问题是,尽管您有索引,是因为您在比较之前在toLower属性上进行了name,但是没有使用该索引。配置文件的第一步显示NodeByLabelScan。它正在对name属性进行全表扫描。

在您的:Artist节点上创建一个名为name_lower的新属性,将其设置为toLower(name),对该属性建立索引并在搜索中使用它。这将大大提高查询的性能。