是CSV加速创建大量关系的唯一选择吗?
我在网上读了很多文章,都是关于CSV的。CSV肯定会提高我的性能(你能想象它有多大吗?),但我不确定我是否能用CSV格式存储数据。还有其他选择吗?我将从使用Neo4J 3 BOLT协议得到多少?
我的程序
我使用的是Neo4j 2.1.7。我试着一次建立大约50000种关系。我执行批量大小为10000的查询,插入全部50000需要大约120-140秒的。
我的查询如下:
MATCH (n),(m)
WHERE id(n)=5948 and id(m)=8114
CREATE (n)-[r:MY_REL {
ID:"4611686018427387904",
TYPE: "MY_REL_1"
PROPERTY_1:"some_data_1",
PROPERTY_2:"some_data_2",
.........................
PROPERTY_14:"some_data_14"
}]->(m)
RETURN id(n),id(m),r发布于 2017-02-09 12:09:49
因为它是用文档编写的
Cypher支持使用参数查询。这意味着开发人员不必求助于字符串构建来创建查询。除此之外,它还使执行计划的缓存对于Cypher来说容易得多。
因此,您需要将数据打包为参数并使用密码查询传递:
UNWIND {rows} as row
MATCH (n),(m)
WHERE id(n)=row.nid and id(m)=row.mid
CREATE (n)-[r:MY_REL {
ID:row.relId,
TYPE:row.relType,
PROPERTY_1:row.someData_1,
PROPERTY_2:row.someData_2,
.........................
PROPERTY_14:row.someData_14
}]->(m)
RETURN id(n),id(m),rhttps://stackoverflow.com/questions/42135766
复制相似问题