Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法加快Neo4j图形的更新速度?_Neo4j_Cypher - Fatal编程技术网

有没有办法加快Neo4j图形的更新速度?

有没有办法加快Neo4j图形的更新速度?,neo4j,cypher,Neo4j,Cypher,我有一个Neo4j(3.5)中的图形,包含大约12m个节点和16m条边。该图在RHEL虚拟机上运行,该虚拟机具有8个vCPU内核和8gb内存 在对图表(如下图)执行更新时,我发现更新大约需要15秒才能完成 我已经查看了Neo4j索引建议,但找不到任何迹象表明它将加快更新速度。图的模式显示我已经在匹配属性上创建了索引:在线责任(责任ID) MATCH (n {`Liability ID`: {liability_id}}) SET n.`Creditor Reference`= {referen

我有一个Neo4j(3.5)中的图形,包含大约12m个节点和16m条边。该图在RHEL虚拟机上运行,该虚拟机具有8个vCPU内核和8gb内存

在对图表(如下图)执行更新时,我发现更新大约需要15秒才能完成

我已经查看了Neo4j索引建议,但找不到任何迹象表明它将加快更新速度。图的模式显示我已经在匹配属性上创建了索引<代码>:在线责任(责任ID)

MATCH (n {`Liability ID`: {liability_id}}) 
SET n.`Creditor Reference`= {reference},
n.`Liability Type`= {liability_type}, 
n.`Liability Sub-Type`= {liability_subtype}
RETURN n.`Liability ID`
感谢您的帮助


编辑:我还尝试用以下模式替换约束的索引:
:在线责任(责任ID)(用于唯一性约束)
,这并没有加快更新速度,反而使更新速度慢了1秒

由于索引与标签和属性名称相关联,为了使用索引,必须在
匹配模式中指定标签和属性名称。如果未在模式中指定标签,则Cypher将被迫扫描所有节点,这将阻止它使用索引

例如,这将导致Cypher planner生成一个使用索引的计划(唯一真正的更改在
MATCH
子句中):


啊!!非常好,通过指定标签,更新时间从10-15秒增加到了10-20毫秒。
MATCH (n:Liability {`Liability ID`: {liability_id}}) 
SET
  n.`Creditor Reference` = {reference},
  n.`Liability Type` = {liability_type}, 
  n.`Liability Sub-Type` = {liability_subtype}
RETURN n.`Liability ID`;