PageHelper:百万级数据查询优化

方案一:不需要总页数时去掉count

PageHelper.startPage(1, 10);
// 去掉count
PageHelper.getLocalPage().setCount(false);
List<String> userList = userDAO.listUser();
PageInfo pageInfo = new PageInfo(baseParamDOList);

PageInfo结果示例:

{
  "total": -1,
  "list": [
  ],
  "pageNum": 1,
  "pageSize": 15,
  "size": 15,
  "startRow": 1,
  "endRow": 15,
  "pages": 1,
  "prePage": 0,
  "nextPage": 0,
  "isFirstPage": true,
  "isLastPage": true,
  "hasPreviousPage": false,
  "hasNextPage": false,
  "navigatePages": 8,
  "navigatepageNums": [
    1
  ],
  "navigateFirstPage": 1,
  "navigateLastPage": 1
}

方案二:使用Oracle9iDialect

PageHelper5.2.0提供了2个Dialect,分别是oracle、oracle9i:

-- OracleDialect 外层控制范围
WHERE ROW_ID <= ? AND ROW_ID > ?

-- Oracle9iDialect 内外分别控制范围
TMP_PAGE WHERE ROWNUM <= ? ) WHERE ROW_ID > ?

配置文件:

<property name="helperDialect" value="oracle"/>
<!-- 或 -->
<property name="helperDialect" value="oracle9i"/>

参考:
pagehelper之百万级数据查询优化

PageHelper5在Oracle查询变慢的问题解决

Mybatis 5.2.0

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值