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

Spring Data Neo4j 5 and the application startup time

在我的 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")

如何检查它以及我是否正确 - 如何在不丢失 autoIndex("assert") 提供的功能的情况下缩短应用程序启动时间?

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

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