neo4j的所有查询都很慢

Tim*_*ell 5 neo4j

我使用cypher编写了各种查询,每个查询不少于200毫秒.它们非常直接,所以我无法确定瓶颈在哪里.

与参数的简单匹配,2200ms:

SimpleMatchWithParameters

与参数的简单明显匹配,200ms:

SimpleDistinctMatchWithParameters

路径,2500毫秒:

在此输入图像描述

起初我认为问题是缺乏资源,因为我在同一个盒子上运行neo4j和我的应用程序.虽然性能监视器表明CPU和内存基本上是免费的并且可用,但我将neo4j服务器移动到另一个本地机箱并观察到类似的延迟.两台服务器都是工作站,配备了相当新的Xeon处理器,12GB内存和用于数据存储的SSD.以上所有这些让我相信延迟不是由于我的硬件造成的.操作系统是Windows 7.

该图具有少于200个节点和少于200个关系.

我附上了一些我发送给neo4j的查询以及服务器,数据库和JVM的配置.没有加载插件或扩展.

Pastebin链接:

cyb*_*sam 4

[对我之前发表的评论进行一些扩展。]

@TFerrell:您的评论指出“所有节点都有标签”,并且您尝试应用索引。但是,尚不清楚您是否确实在慢速 Cypher 查询中指定了标签。我从您最初的问题陈述中注意到,您的两个较慢的查询实际上都没有指定节点标签(大概应该是“项目”)。

如果您的 Cypher 查询没有指定节点的标签,那么数据库引擎必须测试每个节点,并且它也无法应用索引。

因此,请尝试在慢速查询中指定正确的节点标签。