当前位置: 首页 > 知识库问答 >
问题:

在REST API Java Spring Boot中消除慢速查询

单于钊
2023-03-14
    null

它是用spring-boot设计的Java REST API,通过MySQL连接器连接到MySQL数据库。存储库中的大多数查询都是以JPA查询方式编写的。为了编译它,我们使用maven并将其部署在fatjar中,运行在tomcat服务器中。

事实是,对于一个用户来说,其中的几个表和资源可能非常大。因此,当GET请求以高偏移量发出时,我们可以处理慢速查询。

我们尝试了几种解决方案,比如:

    null
{
  "content": {},
  "links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

因此,我们要问的是在使用Spring-Boot的Restful API设计中处理和消除缓慢查询的最佳实践以及解决方案。

谢了!

共有1个答案

姚星河
2023-03-14

关于分页,请看一下这个答案:如何从PageRequest禁用计数查询以获取总页数?

基本上返回一个列表,而不是一个页面。这当然不会给你总数,所以你需要以不同的方式处理这种情况。下一页可能需要一个额外的查询,该查询将返回一个空列表,但您将保存每一页的计数。

然而,如果出于某种原因,你仍然需要总数,你将不得不做计数。

 类似资料:
  • 问题内容: 我正在使用Google BigQuery,并且正在从PHP执行一些简单的查询。(例如,从电子邮件中的SELECT * WHERE email='mail@test.com‘)我只是在检查表中是否存在该电子邮件。 表“电子邮件”目前为空。但是,PHP脚本仍然需要大约4分钟的时间来检查一个空表上的175封电子邮件。.如我希望将来该表将被填充,并且将有500 000封邮件,那么我想请求时间会

  • 我试图在mongodb日志文件中只记录慢速查询(执行时间超过10秒)。 我在运行蒙戈作为 并将分析设置为 但是当跟踪日志文件时,它会打印所有的查询。我可以看到很多查询,它的运行时间为0ms。我还需要添加什么来只获得慢速查询吗?

  • `public class Main{private static Connection connect=null;private static Statement PreparedStatement=null;private static ResultSet ResultSet=null;

  • 问题内容: 我有以下查询: 目前,此查询大约需要93分钟才能完成。我想找到使它更快一点的方法。 该表大约有506,000行,其中大约490,000行包含的值,因此我怀疑我是否可以利用此处的任何索引。 该表(未压缩时)中包含约46 gigs的数据,但是该数据的大部分位于名为的文本字段中。我相信简单地加载和卸载许多页面会导致速度下降。一个想法是做一个新表 只是 在和现场,并保持尽可能小。但是,测试该理

  • 我正试图追踪一个客户不能以他们应该的速度读取消息的问题。持久消息被写入队列。有时,GET速率比PUT速率慢,我们会看到消息备份。

  • 问题内容: 这是查询(最大的表约有40,000行) 如果运行此命令,它将很快执行(大约.05秒)。它返回13行。 当我在查询末尾添加一个子句(按任意列排序)时,查询大约需要10秒钟。 我现在正在生产中使用此数据库,并且一切正常。我所有其他查询都很快。 有什么想法吗?我在MySQL的查询浏览器中并从命令行运行了查询。两个地方都死了。 编辑: Tolgahan ALBAYRAK解决方案有效,但是谁能解