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

相关推荐
毕设源码-邱学长10 小时前
【开题答辩全过程】以 基于springboot的社区团购小程序设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
风月歌10 小时前
小程序项目之超市售货管理平台小程序源代码(源码+文档)
java·微信小程序·小程序·毕业设计·源码
codealy10 小时前
MYSQL索引失效常见场景 - 数据库性能优化
数据库·mysql·性能优化
SimonKing10 小时前
浅谈银行系统对接中的安全和槽点
java·后端·程序员
tryxr10 小时前
Java 中 this 关键字的使用场景
java·开发语言·类与对象·this关键字
九皇叔叔10 小时前
MySQL数据库 意向锁(初篇)
数据库·mysql
Coder_Boy_10 小时前
Spring 核心思想与企业级最佳特性(思想级)
java·后端·spring
毕设源码-朱学姐10 小时前
【开题答辩全过程】以 红色旅游网站为例,包含答辩的问题和答案
java
阿拉伯柠檬10 小时前
MySQL基本查询
linux·数据库·mysql·面试
Catcharlotte10 小时前
反射和设计模式
java