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

相关推荐
爱可生开源社区几秒前
当测试工具开始「思考」,是工具还是「同事」?
数据库
是小李呀~6 分钟前
【工作梳理】怎么把f12里面的东西导入到postman
java
攀小黑7 分钟前
Java 多线程加锁 synchronized 关键字 字符串当做key
java·开发语言
余华余华20 分钟前
2024年蓝桥杯Java B组省赛真题超详解析-分布式队列
java·职场和发展·蓝桥杯
破罐子不摔23 分钟前
【C#使用S7.NET库读取和写入西门子PLC变量】
java·c#·.net
haven-85224 分钟前
duckdb不支持向量
数据库·oracle
崖山数据库系统YashanDB29 分钟前
YashanDB hint语法
数据库
apcipot_rain33 分钟前
【数据库原理及安全实验】实验一 数据库安装与创建
数据库·安全
可爱的霸王龙34 分钟前
JVM——模型分析、回收机制
java·jvm
京东零售技术34 分钟前
ClickHouse 的“独孤九剑”:极速查询的终极秘籍
数据库