Spring数据Neo4j 5和应用程序启动时间

Spring数据Neo4j 5和应用程序启动时间,neo4j,spring-data-neo4j,neo4j-ogm,spring-data-neo4j-5,Neo4j,Spring Data Neo4j,Neo4j Ogm,Spring Data Neo4j 5,在我的Spring Data Neo4j 5项目中,我有以下Neo4j Java配置: @Bean public org.neo4j.ogm.config.Configuration configuration() { // @formatter:off return new org.neo4j.ogm.config.Configuration.Builder() .autoIndex("assert") .credentials

在我的Spring Data Neo4j 5项目中,我有以下Neo4j Java配置:

@Bean
public org.neo4j.ogm.config.Configuration configuration() {

    // @formatter:off
    return new org.neo4j.ogm.config.Configuration.Builder()
            .autoIndex("assert")
            .credentials(username, password)
            .uri(serverDatabaseUri)
            .build();
    // @formatter:on

}
现在,随着我的Neo4j数据库中的数据增长,我在应用程序启动期间经历了显著的减速

我认为这一问题的可能原因之一可能是以下财产:

autoIndex("assert")

如何检查它以及我是否正确-如何在不丢失
自动索引(“assert”)
提供的功能的情况下提高应用程序启动时间?

很可能您是对的,因为索引的创建和验证将花费与数据大小成比例的时间;换句话说,数据越多,每次应用程序启动时创建或验证索引所需的时间就越长


索引创建是SDN的一个方便功能。也就是说,鉴于添加或删除索引是一个相当罕见的事件,通常只有在添加或删除域实体或从空数据库开始时才会发生,另一个选项是删除@Index注释,并创建一个创建或删除索引的密码脚本,只在需要时执行密码脚本。这种方法允许应用程序尽快启动,同时在需要时必须手动执行脚本,这是一种合理的平衡。

很可能您是对的,因为索引的创建和验证将花费与数据大小成比例的时间;换句话说,数据越多,每次应用程序启动时创建或验证索引所需的时间就越长


索引创建是SDN的一个方便功能。也就是说,鉴于添加或删除索引是一个相当罕见的事件,通常只有在添加或删除域实体或从空数据库开始时才会发生,另一个选项是删除@Index注释,并创建一个创建或删除索引的密码脚本,只在需要时执行密码脚本。这种方法允许应用程序在需要时手动执行脚本,这是一种合理的平衡。尽管如此,我只想补充一点,始终可以使用
自动索引(“验证”)
来确保索引存在。SDN/OGM
@Index
和(至少)assert的思想可以与Hibernate的autoDDL相媲美:它有利于开发,但不会在生产中使用繁重的操作。感谢您的回答!因此,换句话说,我可以将LiquiGraph之类的东西与我的Spring Boot应用程序一起使用,以便声明任何方案更改和自动索引(“验证”),以确保设置了正确的索引?再次感谢,我能够用LiquiGraph和自动索引(“验证”)解决这个问题尽管如此,我只想补充一点,始终可以使用
autoIndex(“validate”)
来确保索引存在。SDN/OGM
@Index
和(至少)assert的思想可以与Hibernate的autoDDL相媲美:它有利于开发,但不会在生产中使用繁重的操作。感谢您的回答!因此,换句话说,我可以将LiquiGraph之类的东西与我的Spring Boot应用程序一起使用,以便声明任何方案更改和自动索引(“验证”),以确保设置了正确的索引?再次感谢,我能够用LiquiGraph和自动索引(“验证”)解决这个问题