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

相关推荐
Jerry404_NotFound6 分钟前
工厂方法模式
java·开发语言·jvm·工厂方法模式
一起养小猫6 分钟前
【探索实战】Kurator统一流量治理深度实践:基于Istio的跨集群服务网格
java·云原生·istio
微风欲寻竹影7 分钟前
深入理解Java中的String
java·开发语言
Coder_Boy_8 分钟前
基于SpringAI的智能平台基座开发-(二)
java·人工智能·springboot·aiops·langchain4j
lifewange14 分钟前
数据库索引里面的游标是什么?
数据库·oracle
代码or搬砖15 分钟前
TransactionManager 详解、常见问题、解决方法
java·开发语言·spring
廋到被风吹走20 分钟前
【Spring】Spring Context 详细介绍
java·后端·spring
Kiyra35 分钟前
LinkedHashMap 源码阅读
java·开发语言·网络·人工智能·安全·阿里云·云计算
PhDTool35 分钟前
计算机化系统验证(CSV)的前世今生
数据库·安全·全文检索
sheji341635 分钟前
【开题答辩全过程】以 山林湖泊生态文明建设管控系统为例,包含答辩的问题和答案
java·spring boot