首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring数据REST -对DB的前10次调用非常慢。

Spring数据REST -对DB的前10次调用非常慢。
EN

Stack Overflow用户
提问于 2020-04-17 15:12:23
回答 1查看 330关注 0票数 0

问题描述

在启动了我的Spring应用程序之后,通过JPA/Hibernate连接到Postgres数据库并使用Spring数据REST之后,通过REST对应用程序进行的前10个调用非常非常慢(从5-10秒不等)。

项目设置和配置

我有一个父“模板”项目,通过它向子项目提供一个通用域模型。然后在每个子项目(包括父项目中的所有其他bean)中都可以使用这些bean。

该设置如下所示:

对于父项目:

  1. 我自己的泛型父级POM (使用spring启动器-父级和其他依赖项)

...is亲本

  1. 父项目(Spring /Spring,提供通用bean)

次级项目:

  1. 我自己的通用父级POM (与上面相同)

...is亲本

  1. 子项目->将父项目作为依赖项

预期和实际结果

我尝试在两个项目中创建同一个实体的多个实例(通过HTTP,使用REST )。使用父项目,实体在大约0.1秒内被创建,一致。但是在子项目中,对于完全相同的实体来说,最初的10次--而且始终是10次-- HTTP调用( POST和GET)都非常慢,每个请求最多10秒。预期的行为是看到相同的速度从第一次呼叫。

在完成这10个请求之后,性能与父项目相似。

我不知道为什么会发生这种行为。如果有人有建议,我们会非常感激的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-02 11:58:22

通过查看Hibernate正在执行的SQL查询,我解决了这个问题。我是和InheritanceType.TABLE_PER_CLASS一起工作的。正因为如此--正如许多在线文档所提到的--在处理大量实体类型时,可能会严重影响性能,这在我的情况下是通过扩展基本项目来实现的。必须执行太多的UNION和JOIN查询。通过切换到InheritanceType.SINGLE_TABLE,它又在快速地工作了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61274903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档