我正在尝试使用密码将大约 500,000 个节点的中等数据集导入 neo4j。我在带有 SSD 的 3.4 GHz i7 iMac 上本地运行 neo4j-community-2.0.0-M05。
我将密码传送到 neo4j shell,将每 40k 行包装成一个事务。
我正在使用标签,在开始之前,我为每个标签节点的一个属性创建了索引。
当我昨晚离开时,每个 MATCH CREATE UNIQUE 大约需要 15 毫秒。今天早上他们用了大约 6000 毫秒。
慢查询看起来像这样
MATCH n:Artifact WHERE n.pathId = 'ZZZ' CREATE UNIQUE n-[r:DEPENDS_ON]->(a:Artifact {pathId: 'YYY'}) RETURN a
1 row
5719 ms
pathId 已编入索引。
我知道这是一个里程碑式的构建,可能没有优化性能。但我的进口还不到三分之一,而且速度越来越慢。
我应该看看除了 cypher 之外的其他方法来导入这些数据吗?