如何改善Neo4j关系节省时间

时间:2016-08-22 16:29:03

标签: neo4j spring-data-neo4j-4 neo4j-ogm

我目前正通过spring数据库使用neo4j 2.3.3。 我在Window 7 OS上运行并使用Java 1.8作为JVM。 我正在以嵌入模式运行。

我正在拯救大约20,000个关系及其关注 15分钟。 节点已存在于数据库中。

我最终使用以下方法执行保存。

@Repository
public class GraphRepositoryImpl<T> implements GraphRepository<T> {
 :
    @Override
    public <S extends T> Iterable<S> save(Iterable<S> ses, int depth) {
        neo4jOperations.save(ses, depth);
        return ses;
    }
:
}

注意:我已经尝试将深度设置为0和-1,但似乎没有 改变节省时间。

我使用Java Mission Control描述了可执行文件,并注意到了这一点 它在以下方法中花费了20%的时间:

org.neo4j.kernel.impl.api.store.StorePropertyPayloadCursor.currentBlocksUsed()  7,176   19.846%

最终来自:

org.neo4j.cypher.internal.compatibility.CompatibilityFor2_3$ExecutionPlanWrapper.run(GraphDatabaseAPI, TransactionInfo, CypherExecutionMode, Map, QuerySession) 7,658   21.179%

实际的保存挂钩占用了大约10%的时间:

org.springframework.data.neo4j.template.Neo4jTemplate.save(Object, int) 3,817   10.556%

我也有JMC录音;见this link

0 个答案:

没有答案