为什么Neo4j更新节点属性需要很长时间?

时间:2013-11-18 19:35:00

标签: neo4j cypher

我在数据库中有10M个节点。 我正在使用CYPHER来更新节点。在进行节点返回时,返回10(使用LIMIT)需要大约1秒钟

START e = node:events('shop:12345 AND attributes_vin:[* TO *]') 
WHERE HAS(e.attributes_vin) 
//SET e.attributes_vin = LOWER(e.attributes_vin)
RETURN e
LIMIT 10

当我为相同的10个节点添加SET e.attributes_vin = LOWER(e.attributes_vin)时,需要2分钟。

我做错了什么?感谢。

1 个答案:

答案 0 :(得分:2)

我认为您设置的限制仅限制返回的内容,而不是您设置属性的节点(在所有匹配的节点上设置属性,并返回其中10个)。

您可以尝试先使用WITH破解查询并在那里设置限制吗?

START e = node:events('shop:12345 AND attributes_vin:[* TO *]') 
WHERE HAS(e.attributes_vin)
WITH e LIMIT 10
SET e.attributes_vin = LOWER(e.attributes_vin)
RETURN e