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 表示结果集是只读的,不能用于更新数据库。这种设置适用于只需要查询结果而不需要更新数据的情况。

相关推荐
汽车仪器仪表相关领域几秒前
PSB-1:安全增压与空燃比双监控仪表 - 高性能引擎的 “双重安全卫士“
java·人工智能·功能测试·单元测试·汽车·可用性测试·安全性测试
o***1114几秒前
智能生成ER图工具。使用 SQL 生成 ER 图:让数据库设计更高效
数据库·sql·oracle
c***21292 分钟前
删除文件夹,被提示“需要来自 TrustedInstaller 的权限。。。”的解决方案
java
狂奔小菜鸡3 分钟前
Day21 | 枚举(Enum)与常见应用场景
java·后端·java ee
q***01656 分钟前
Spring 过滤器:OncePerRequestFilter 应用详解
java·后端·spring
z***94846 分钟前
解决SpringBoot项目启动错误:找不到或无法加载主类
java·spring boot·后端
lichong9516 分钟前
android 使用 java 编写网络连通性检查
android·java·前端
TracyCoder1238 分钟前
Java后端Redis客户端选型指南
java·开发语言·redis
u***42079 分钟前
Spring Data JDBC 详解
java·数据库·spring
sheji341613 分钟前
【开题答辩全过程】以 基于Spring Boot的驾校预约练车系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端