美文网首页
数据库的遍历和分页

数据库的遍历和分页

作者: 江江的大猪 | 来源:发表于2021-05-22 20:37 被阅读0次
    • 根据更新时间遍历
    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}
    

    相关文章

      网友评论

          本文标题:数据库的遍历和分页

          本文链接:https://www.haomeiwen.com/subject/lyvmjltx.html