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

相关推荐
恒辉信达8 分钟前
hhdb数据库介绍(8-4)
服务器·数据库·mysql
blammmp14 分钟前
Java:数据结构-枚举
java·开发语言·数据结构
暗黑起源喵33 分钟前
设计模式-工厂设计模式
java·开发语言·设计模式
WaaTong37 分钟前
Java反射
java·开发语言·反射
齐 飞1 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
云空1 小时前
《Python 与 SQLite:强大的数据库组合》
数据库·python·sqlite
暮毅1 小时前
10.Node.js连接MongoDb
数据库·mongodb·node.js
wowocpp1 小时前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
九圣残炎1 小时前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
wclass-zhengge1 小时前
Netty篇(入门编程)
java·linux·服务器