物理分页与逻辑分页

简介: 物理分页与逻辑分页

一 概述


前言:

数据的分页,不管你是sql中手写还是通过mybatis都将遵循的逻辑就是物理分页或者逻辑分页。


物理分页:物理分页依赖数据库,比如MySQL数据库提供的"limit"关键字,只需编写带有"limit"关键字的sql语句,数据库返回的就是分页结果。


逻辑分页:依赖的是程序员编写的代码。数据库返回的不是分页结果,而是全部数据,然后再由程序员通过代码获取分页数据,常用的操作是一次性从数据库中查询出全部数据并存储到List集合中,因为List集合有序,再根据索引获取指定范围的数据


二 物理分页/逻辑分页   对比


数据库负担


逻辑分页一次性将数据读取到内存,占用了较大的内容空间。


物理分页每次只读取一部分数据,占用内存空间较小。


服务器负担


逻辑分页一次性将数据读取到内存,占用了较大的内容空间。


物理分页每次只读取一部分数据,占用内存空间较小。


实时性


逻辑分页一次性将数据读取到内存,数据发生改变,数据库的最新状态不能实时反映到操作中,实时性差。


物理分页每次需要数据时都访问数据库,能够获取数据库的最新状态,实时性强。


应用场景


逻辑分页主要用于数据量不大、数据稳定的场合。


物理分页主要用于数据量较大、更新频繁的场合。


目录
相关文章
|
5月前
|
SQL 关系型数据库 MySQL
从理论到实践,Mysql查询优化剖析(联表查询)
从理论到实践,Mysql查询优化剖析(联表查询)
196 0
|
6月前
|
前端开发 Java 应用服务中间件
nginx结合前后端分离项目springboot+vue的配置
nginx结合前后端分离项目springboot+vue的配置
201 0
|
3月前
|
存储 Kubernetes 数据安全/隐私保护
在k8S中,多个Pod如何实现使用同一个配置文件?
在k8S中,多个Pod如何实现使用同一个配置文件?
|
2月前
|
安全 Java 关系型数据库
代码规范Java阿里巴巴
本文介绍了阿里巴巴的《Java开发手册》,这是一份业界公认的代码规范手册,涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度。手册通过强制、推荐、参考三大类规约,详细指导开发者编写高质量的Java代码。文中还提供了常见问题的正反例对比,如方法参数类型一致性、SimpleDateFormat线程安全等问题的解决方案。此外,还介绍了如何安装和使用阿里规范插件来提高编码效率。
535 9
|
4月前
|
Java 测试技术
深入理解Logback异步日志配置及性能优化
深入理解Logback异步日志配置及性能优化
330 2
|
Java 数据库连接 数据库
【MyBatis】spring整合mybatis教程(详细易懂)
Spring提供了一种轻量级的容器和依赖注入的机制,可以简化应用程序的配置和管理。会初始化N个数据库链接对象,一般在10个,当需要用户请求操作数据库时候,那么就会直接在数据库连接池中获取链接,用完放回连接池中。我们的实体类创建属性的时候我写get、set等方法,过于麻烦,但是我们有一个lombok,可以节约掉这些。这里是自己本地路径的MySQL的jar包,是需要更改的,路径赋值后也需要再加上。把我们的生成的BookMapper里面的方法复制到我们新建的BookBiz里面。选中对应的项目,依次选中生成。
【MyBatis】spring整合mybatis教程(详细易懂)
|
前端开发 Java 应用服务中间件
SpringBoot自动配置原理:解析Pom.xml文件《第五课》
SpringBoot自动配置原理:解析Pom.xml文件《第五课》
205 0
|
运维 监控 安全
全链路压测(9):容量评估和容量规划
容量评估我在之前的文章《性能测试从零开始实施指南——容量评估篇》中已做过详细介绍,这里不多做赘述。关于容量评估,参考下面两张思维导图,更容易理解。
全链路压测(9):容量评估和容量规划
|
编解码 监控 搜索推荐
IntelliJ IDEA、详细配置、使用教程【可用】上
IntelliJ IDEA、详细配置、使用教程【可用】上
327 0
IntelliJ IDEA、详细配置、使用教程【可用】上