我正在尝试向neo4j数据库插入一组相对庞大的节点。我有大约一百万个节点。
最初的100,000个节点插入速度相当快。然而,速度逐渐降低。在大约300,000个节点之后,每个节点插入需要一分多钟。
public void writeXmlElements(List<XmlElement> elements){
GraphDatabaseService graphDb = Neo4jDatabaseHandler.getGraphDatabase();
int count = 0;
try ( Transaction tx = graphDb.beginTx() )
{
for (XmlElement element : elements) {
count++;
LOGGER.info("Processing "+count+" out of "+elements.size());
Node node = graphDb.createNode();
node.setProperty(XmlElements.NAME.getValue(), element.getTagName());
node.setProperty(XmlElements.VALUE.getValue(), element.getTagValue());
tx.success();
}
}
}
我这样做非常简单,遍历100万项目列表。
我有什么想法让它跑得更快?