SQL查询一页数据过多太慢

一页取5000~10000条数据 查询很慢

1)加索引

2)设置fetchSize

@Select("<script>  SELECT * from A   \n" +
            "</script>")
    @Options(fetchSize = 3000, resultSetType = ResultSetType.FORWARD_ONLY)
    IPage<Object> selectPage(IPage pageInfo,@Param("idList") List<Long> idList);

让我解释一下这些选项的含义:

  1. fetchSize = 1000: 这个选项指定了在从数据库中检索数据时一次性取回的行数。在这种情况下,设置为 1000,意味着每次从数据库中取回的数据行数为 1000。通过设置合适的 fetchSize,可以在一定程度上优化数据库的性能和内存使用情况。

  2. resultSetType = ResultSetType.FORWARD_ONLY: 这个选项指定了结果集的类型。FORWARD_ONLY 表示结果集只能向前遍历,不能向后滚动。这种类型的结果集对于只需要一次性遍历结果集的情况来说是最有效的,因为它不需要额外的资源来支持向后滚动。

  3. resultSetConcurrency = ResultSetConcurrency.READ_ONLY: 这个选项指定了结果集的并发性。READ_ONLY 表示结果集是只读的,不能用于更新数据库。这种设置适用于只需要查询结果而不需要更新数据的情况。

相关推荐

  1. SQL查询数据

    2024-04-26 23:50:01       38 阅读
  2. Mysql:cpusql查询方法

    2024-04-26 23:50:01       54 阅读
  3. 查询&sql&索引优化

    2024-04-26 23:50:01       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 23:50:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 23:50:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 23:50:01       82 阅读
  4. Python语言-面向对象

    2024-04-26 23:50:01       91 阅读

热门阅读

  1. 【C++】33 搜索旋转排序数组

    2024-04-26 23:50:01       32 阅读
  2. nodejs

    nodejs

    2024-04-26 23:50:01      40 阅读
  3. 【动态规划】Leetcode 32. 最长有效括号【困难】

    2024-04-26 23:50:01       34 阅读
  4. 启动MySQL服务

    2024-04-26 23:50:01       37 阅读