的列表我有双,其中ID是节点的数字小id和ID的流是相邻节点的ID的列表。 我使用此查询从这样的流UPSERT节点:Neo4j的创建边缘
WITH ${ids.mkString("[", ",", "]")} as ids
UNWIND ids as u2id
MERGE (u1:User {Id:${id}})
MERGE (u2:User {Id:u2id})
CREATE UNIQUE p = (u1) - [:FRIEND] -> (u2)
,我有索引标识标签上
CREATE INDEX ON :User(Id)
的IDS列表长度平均约为100-200。
现在有约6000万个节点和mil。数据库中的边。插入的速度大约是每秒对。 Neo4j运行在Core i5,28Gb RAM和2Tb WD Black的专用机器上。
我不知道如何优化插入查询或改善硬件的任何提示。
几个问题... 1)是流不变(这并不是说你可以在一个CSV文件中的所有更新说的和做LOAD CSV)? 2)用户(Id)仅仅是一个索引还是唯一的约束? 3)你是否真的创建了新用户(MERGE暗示)? 4)你可以添加一个这样的执行PROFILE的扩大图像? –
对不起,迟来的答案,1)是真正的流2)索引3)是,创建4)不幸的是数据库目前无法访问 –