zoukankan      html  css  js  c++  java
  • 逻辑(内存)分页与物理分页

    本文参考自:https://www.cnblogs.com/tonghun/p/7122801.html

    物理分页

    物理分页依赖的是某一物理实体,这个物理实体就是数据库,即:在查询数据库时在库里执行分页,

    比如MySQL数据库提供了limit关键字,程序员只需要编写带有limit关键字的SQL语句,数据库返回的就是分页结果。

    逻辑(内存)分页

    逻辑分页依赖的是程序员编写的代码。数据库返回的不是分页结果,而是全部数据,然后再由程序员通过代码获取分页数据,(取出全部数据先存于内存中,再取出需要的数据

    常用的操作是一次性从数据库中查询出全部数据并存储到List集合中,因为List集合有序,再根据索引获取指定范围的数据。

    ------------------------------------------------------------------------------------------------------------------------

    实例:

    RowBound 属于内存分页,pageHelper属于物理分页。

    ------------------------------------------------------------------------------------------------------------------------

    对比

    1.数据库负担

    物理分页每次都访问数据库,逻辑分页只访问一次数据库,物理分页对数据库造成的负担大

    2.服务器负担

    逻辑分页一次性将数据读取到内存,占用了较大的内容空间,物理分页每次只读取一部分数据,占用内存空间较小

    3.实时性

    逻辑分页一次性将数据读取到内存,数据发生改变,数据库的最新状态不能实时反映到操作中,实时性差。物理分页每次需要数据时都访问数据库,能够获取数据库的最新状态,实时性强

    4.适用场合

    逻辑分页主要用于数据量不大、数据稳定的场合,物理分页主要用于数据量较大、更新频繁的场合

  • 相关阅读:
    string.format()详解
    微信支持的Authorization code授权模式(公众号开发)(开放平台资料中心中的代公众号发起网页授权)
    HttpClient类详解
    PostgreSQL按年月日分组(关键词:extract time as Year/Month/Day)
    sql中的(case when then else end )的用法(相当于java中的if else)
    模板题 Problem I Link Cut Tree
    BZOJ2555 SubString
    poj3264(简单线段树)
    poj1011(DFS+剪枝)
    poj1042(贪心+枚举)
  • 原文地址:https://www.cnblogs.com/yanze/p/10650242.html
Copyright © 2011-2022 走看看