码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 后端分页应该注意的事项


    分页前应该保证数据的有序性

    在进行分页之前必须保证数据是有一定的顺序的,不能够随机
    如果随机:

    第一次请求第一页时,A数据可能被随机到第一页。当第二次请求时请求第二页,A数据在分页之前可能跑到第二页的数据的位置,此时再进行分页,就会发现本来在第一页出现过的数据A,又在第二页中重复出现。
    很多朋友都会疑问,既然mysql中使用limit之前mysql已经默认排好序了,怎么会出现这个问题呢?
    这时就要注意了,实现分页的方案并不是只有从mysql中使用limit呀。还有一种方法就是直接把全部数据查询出来,在service层中进行分页,所以刚刚这种场景就会出错。
    如何在service层进行分页,可以看我的博客:https://blog.csdn.net/qq_56769991/article/details/125447487


    在工作时,业务要求将查询出来的数据进行分页并随机排序,因为数据量较小,我是直接将全部数据查出来,在service中进行随机排序后,再进行的分页操作,这就造成了数据在第一页和第二页存在数据重复的情况。

    所以在进行分页之前必须保证每个数据在一个确定的位置上,这样才会保证数据不会重复出现。

    那随机排序怎么搞呢?
    在进行分页的情况下,没有整体的乱序,只有局部乱序,即分页后,对当前页进行乱序操作。

    结论:在进行分页操作之前:总体的数据的位置不能改变,否则会在不同页看到相同的数据(除了业务上在数据库插入新数据除外)

    分页后应该保证当前页中的数据数量不变

    分页后的数据,我们可以对分页后的当个数据项内容进行更改,但是千万不要添加新的数据项,否则可能造成"数据丢失"。比如我现在查询到10条数据,现在这边又将两个数据项添加到列表中,变成了12 ,但是前端只要你12条数据,你这被挤出去的2条数据就丢失了,下一页也不会出现你这两条数据。

    结论:千万不要尝试在分页后添加新的数据项,否则会造成数据丢失(除非你有办法把将丢失的数据显示到前端

  • 相关阅读:
    软件部2022届讲课底稿------多重背包问题
    Prometheus-Alertmanager 警报管理器-通知模版
    精通代码复用:设计原则与最佳实践
    C代码实现循环队列
    目前黑客常用的攻击手段有哪些
    perl删除目录下过期的文件
    vue动态路由切换刷新保留历史路由搜索条件数据
    批量--09---批量读文件入表
    【Vite】development、mock和production不同环境下的配置
    《Webpack 5 基础配置》- 禁止在出现编译错误或警告时,覆盖浏览器全屏显示
  • 原文地址:https://blog.csdn.net/qq_56769991/article/details/125906704
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号