我们有一个嵌入neo4j服务器的java应用程序。此应用程序从Oracle db加载一些数据,创建图表,然后用户可以按需执行特定于域的遍历和算法。
我们最近从1.9.3升级到了RC1。我们现在使用Schema和唯一约束如下:
Iterator<ConstraintDefinition> constraints = schema.getConstraints(
DynamicLabel.label(label)).iterator();
if (constraints == null || !constraints.hasNext()) {
try {
schema.constraintFor(
DynamicLabel.label(label))
.assertPropertyIsUnique(propertyName).create();
} catch (org.neo4j.graphdb.ConstraintViolationException ex) {
LOG.error("CONSTRAINT ALREADY DEFINED ON: "
+ label);
}
}
问题是我们的应用程序启动时间变慢了10倍。对cpu时间进行采样显示以下内容:
答案 0 :(得分:0)
我们对应用程序进行了检测,并找到了缓慢的根本原因。以下主题将详细讨论我们发现的具体问题:
How to improve performance while committing nodes in bulk with Neo4j 2.0 RC1?