我们正在开发一个基于neo4j和php的应用程序,大约有200k个节点,每个节点都有一个属性,例如type='user'
或 type='company'
表示我们应用程序的特定实体。我们需要获取图中特定类型的所有节点的计数。
我们为每个实体创建了一个索引,例如users
,companies
它包含该属性的节点。所以内部users
索引驻留130K节点,其余在companies
.
使用 Cypher,我们可以像这样查询。
START u=node:users('id:*')
RETURN count(u)
结果是
Returned 1 row.Query took 4080ms
服务器配置为默认值,稍作调整,但 4 秒也满足我们的需要。认为数据库会在 1 个月内增长 20K,所以我们非常非常需要这个查询执行。
有没有其他方法可以做到这一点,也许使用 Gremlin,或者使用其他服务器插件?我会缓存这些结果,但我想知道是否可以调整它。
非常感谢,对不起我糟糕的英语。