码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 日常问题:MySQL排序字段数据相同不能分页问题


    【问题日期】
    • 2022-11-14 22:45:12
    【问题描述】
    • MySQL 排序字段数据相同不能分页问题:在分页查询数据时,按创建时间排序,由于数据是批量创建的,导致部分数据创建时间一样,而此时分页查询数据,翻页后出现重复数据
    【问题拆解】
    • 分页查询数据
    • 按照创建时间排序&存在创建时间相同的数据
    • 翻页后出现重复数据
    【问题来源】
    • 朋友遇到的
    【可能原因】
    • 是因为排序字段只有创建时间
    【参考链接】
    • MySQL 官方文档:

      • https://dev.mysql.com/doc/refman/5.7/en/limit-optimization.html

      • If multiple rows have identical values in the ORDER BY columns, the server is free to return those rows in any order, and may do so differently depending on the overall execution plan. In other words, the sort order of those rows is nondeterministic with respect to the nonordered columns.

      • 如果多行在列中具有相同的值 ORDER BY,则服务器可以自由地以任何顺序返回这些行,并且可能会根据整体执行计划以不同的方式返回。换句话说,这些行的排序顺序对于无序的列是不确定的。

    • 51CTO 博客 - 《MySQL排序字段数据相同不能分页问题》:

      1. https://blog.51cto.com/u_15704340/5439010

      2. 如果 order by 排序的字段有相同的数据,则服务器可以自由地以任何顺序返回这些行,并且可能会根据整体执行计划以不同的方式返回。

    【解决方案】
    • 可以在 order by 后面加上一个唯一的 id
    【问题总结】
    • 如果多行在列中具有相同的值 ORDER BY,则服务器可以自由地以任何顺序返回这些行,并且可能会根据整体执行计划以不同的方式返回。换句话说,这些行的排序顺序对于无序的列是不确定的。
    • 对于带有ORDER BY 或 GROUP BY 和 LIMIT 子句的查询,优化器会在默认情况下尝试选择有序索引,因为这样做会加快查询执行速度。在 MySQL 5.7.33 之前,无法覆盖此行为,即使在使用其他优化可能更快的情况下也是如此。从 MySQL 5.7.33 开始,可以通过将 optimizer_switch系统变量的 prefer_ordering_index标志设置为off.
  • 相关阅读:
    链表题(4)
    Vue组件通信方式
    《低代码指南》——如何用维格表实现餐饮数字化
    linux下达梦数据库远程连接操作
    JUMPSERVER----一键安装
    使用Python对图像进行不同级别量化QP,使用RLE计算压缩比,并计算对应的PSNR
    calibre部署指南:docker一键部署calibre在线书库
    手帐怎么做?推荐这10款手帐达人都在用的好用软件!
    自己定义 l2函数和l1函数的具体数值 pytorch
    大型语言模型,真的能够理解人类吗?
  • 原文地址:https://blog.csdn.net/weixin_45187434/article/details/127858041
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号