我对 neo4j 还是很陌生。我编写了一个小型 RESTFUL 服务,它通过 REST 作为 PoC 将节点插入到 neo4j db(服务器)。结构看起来是这样的:root - [NODES] -> n -> [NODE] -> node
n 节点是“居中”的节点。我计划将其他居中节点添加为不同的节点类型(例如产品/类别/文档/属性/用户...)
在我的第一个示例中,我添加了大约。1.000 个节点。现在我尝试增加节点数量并查询该节点。现在我面临着一种性能“问题”。这是我的查询,在 neo4j (1.6.1) 网络控制台上执行
START x = node(0) MATCH PATH = (x - [:NODES] -> centered - [:NODE] -> node) 返回节点 ORDER BY node.id LIMIT 10
START x = node(0) MATCH PATH = (x - [:NODES] -> centered - [:NODE] -> node) 返回计数(*)
我需要分页查询。第一个应该选择要显示的元素,第二个应该计算页面。
查询时间:1.000 个节点:~120ms 4.000 个节点:~200 - 300ms 6.000 个节点:~250 - 500ms
密码查询时间增加得非常快(在我看来)。我计划以这种方式添加 ~2.000.000 个节点。我的查询有什么问题吗?有没有可能让他们更快?(我已经将我的 neo4j 堆大小设置为 100M,对于 10k 节点应该可以)
提前致谢!