0
点赞
收藏
分享

微信扫一扫

数据库的遍历和分页

天涯学馆 2021-09-28 阅读 58
码哥
  • 根据更新时间遍历
select * from table where id > #{id} and update_time >= #{startDate} order by id limit #{limit}

Date now = new Date();
for (List<PO> pos = dao.selectWithLimit(0, now, 100);
     CollectionUtils.isNotEmpty(pos);
     pos = dao.selectWithLimit(pos.get(pos.size() - 1).getId(), now, 100)) {
  // 逻辑处理
}
  • 根据创建时间分页,根据时间和id排序,否则相同的create_time顺序是不确定的
  • 分页总数据小,达不到万级别就老老实实limit offset lenth语法吧
select * from table  order by created_time, id limit #{offset}, #{pageSize}
  • 这种方法没有办法直接根据页码跳转,只能一页一页往下翻,适合大表,分页总数据过万的场景
select * from table where create_time &gt; #{preCreateTs} or (create_time = #{preCreateTs} and id &gt; #{preId}) order by create_time, id limit #{limit}
举报

相关推荐

0 条评论