全部
常见问题
产品动态
精选推荐

什么是分页?如何使用分页?

管理 管理 编辑 删除

1.逻辑分页(假分页)

逻辑分页:逻辑分页依赖于代码。(例:Mybatis自带的分页插件就是逻辑分页)
同时逻辑分页是先查询出所有的数据,再根据代码块的所需(例:你需要拿到第几页,每页几条的数据)筛选出合适的数据进行分页。

通过SQL将所有数据全部查询出来,然后根据游标进行筛选,只是显示出来部分而已。
好处是所有数据库都统一,坏处就是效率低。

2.物理分页(真分页)

物理分页:物理分页依赖于数据库。(更侧重于sql语句)
例:MySQL数据库提供的分页关键字"limit",程序员只需要编写带有关键字的SQL语句,数据库返回的数据就是分页结果。

物理分页就是数据库本身提供了分页方式,如MySQL的limit,oracle的rownum 。
好处是效率高,不好的地方就是不同数据库有不同的搞法。

3.两者对比

概念简单点讲:
逻辑分页就是半自动化的一个分页步骤(因为需要传递相关参数,所以是半自动化的);
物理分页就是手写SQL语句实现的分页。

1.数据库方面

物理分页是手写SQL语句,故每一次分页都需要访问数据库;逻辑分页是将全部数据查询出来后再进行的分页,只需访问一次数据库。所以说,物理分页对于数据库造成的负担大。

2.服务器方面

逻辑分页一次性将所有的数据读取至内存中,占用了较大的内存空间;物理分页每次只读取所需的数据,占用内存比较小。

3.实时性

逻辑分页一次性将数据全部查询出来,如果数据库中的数据发生了改变,逻辑分页就不能够获取最新数据(不能自动更新数据),可能导致脏数据的出现,实时性较低
物理分页每一次分页都需要从数据库中进行查询,这样能够获取数据库中数据的最新状态,实时性较高。

4.逻辑分页代码实现;

导入pom的依赖;


<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>



<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
<dependency><!--导入分页插件-->
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>




注意版本依赖不然会使循环 报错

请登录后查看

CRMEB-慕白寒窗雪 最后编辑于2023-06-19 17:36:45

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
1206
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服