Spring boot Spring boot JPA花了很长时间从15个表中检索记录

Spring boot Spring boot JPA花了很长时间从15个表中检索记录,spring-boot,Spring Boot,我们需要检索通过2000个ID的记录。我们有15个表,我使用JPA repositoryfindById方法,当我搜索1条记录时,从15个表中检索记录需要6秒钟(我们有实体类,它们映射到ID上的列) 请建议我们如何从JPA方面对此进行优化 另外,非常感谢您能告诉我如何使用ComputeableFuture接口让多个线程检索线程之间分割了200个ID的记录。所以您有15个表的连接??是的,我可以看到主表调用一次IN运算符,然后调用所有14个select查询,然后针对每个正确的Correlation

我们需要检索通过2000个ID的记录。我们有15个表,我使用JPA repositoryfindById方法,当我搜索1条记录时,从15个表中检索记录需要6秒钟(我们有实体类,它们映射到ID上的列)

请建议我们如何从JPA方面对此进行优化


另外,非常感谢您能告诉我如何使用ComputeableFuture接口让多个线程检索线程之间分割了200个ID的记录。

所以您有15个表的连接??是的,我可以看到主表调用一次IN运算符,然后调用所有14个select查询,然后针对每个正确的CorrelationId。当您有一对多或一对一映射时,hibernate将执行另一个单独的查询以从数据库中获取它。我们也遇到了同样的问题,我们通过在query.log中使用生成的SQL查询手动获取子记录,并检查您是否可以使用数据库上的进一步索引来支持查询。我使用的是Redshift db,没有索引支持,我必须创建主键\n非空类型