我面临以下问题:我有一个应用程序(微服务体系结构),一个服务负责在很大的postgresql数据库中查找许多数据。该服务有很多“搜索器”,每个搜索器都从一个大数据库中获取数据。在执行大量的SELECT语句时,确实要花费很多时间(我使用Spring Boot,Hibernate)。
问题是如何提高性能?
您能提出什么建议?我已经听说过Hibernate Search可能会显着提高性能
还是其他?
我的堆栈: 春季靴:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1206-jdbc42</version>
</dependency>
我们使用许多这样的JPAR存储库:
@Repository
public interface MyRepository extends JpaRepository<MyEntity, Long> {
Set<MyEntity> findByIdProductInAndIdClient(List<Long> productsIds, Long idClient);
}
我们也使用
我们有2个数据源(2个数据库,一个用于执行SELECT语句,一个用于执行SAVE语句)