mysql-分页数据重复

news2024/9/23 13:17:59

背景说明

分页查询不同页出现重复数据,底层实现都是使用limit
select * from tt1 limit 100,50
第101条开始的50条数据
select * from tt1 limit 100
前100条记录
select * from tt1 limit 100 offset 50
从51条开始,显示后面的100条

原因分析

以前碰到过类似问题,是因为排序字段导致的,因为排序字段一样导致分页临界点的查询数据展示可能会重复
此次问题脚本如下:

explain format=json
select * from table force index(prj_rule_code) -- ignore index()
where  a字段 = ''
limit 35, 15;

前提:
对应表存在索引(a,b)联合索引
没有排序字段
当使用limit 0,10–结果正常
翻页到第三页时 limit 10,10,查询出了前一页的数据
分析流程:
比较不同页查询s q l的执行计划,发觉查询第三页的时候未走索引,直接扫描的全表,但是第二页的时候确实走了索引
在这里插入图片描述

结论

根据上述描述应该很明细可以分析出结论,没有排序字段的情况下,理论上默认排序应该是根据主键ID排序,但是在索引生效的时候,排序方式是按照所以的字段进行排序的。同一s q l在limit限制不同的时候对应sql的执行计划是可能不同的(可以根据如上format=json,强制走索引分析在一定限制条件下查看走索引和扫描全表的开销),导致了分页异常
解决方案:知道原因就尽量避免,增加排序字段解决问题(避免排序字段重复)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣 53. 最大子数组和

题目来源:https://leetcode.cn/problems/maximum-subarray/description/ C题解(来源代码随想录):难点在于判断什么时候更新count。 是当nums[i]为正数吗?那要nums没有正数怎么办; 是当nums[i]比之前子数组…

网络监控的关键指标

网络监控是 IT 的支柱,对于防止可能困扰您的业务的计划外中断至关重要。这就是为什么投资网络监控解决方案是一个明智而安全的举动。特别是随着远程工作成为常态,监控工具使公司能够从世界任何地方监控网络,并有助于在整个过程中保持最佳性能…

小程序:页面跳转闪屏

自己的笔记,随手记录。扛精走开。 1、问题描述 进入页面,是一个组件,通过路由传参判断是由哪个页面进入,不同的页面拿的已选值不一样,需要回显值,在编辑数据。此时会出现一个问题,A页面中进来…

运输问题案例

案例1 运输问题 某部门有3个生产同类型产品的产地,生产的产品由4个销售点出售,各工厂的生产量、各销售点的销售量以及各工厂到各销售点的单位运价(元/吨)如表1所示,求最佳调运方案? 表1 运输信息 产地\销地…

general 未设置cookie的Secure标志位

解决方案: 在配置文件中增加相应配置即可完成配置&#xff1a; <system.web><httpCookies httponlyCookies"true" requireSSl"true"/></system.web>添加完成后如下所示:

ens33没有inet地址

1&#xff09;切换到根用户 su - root 按提示输入密码&#xff08;不切换到根用户没有权限修改文件&#xff09; &#xff08;2&#xff09;输入cd /etc/sysconfig/network-scripts/ &#xff08;3&#xff09;输入vi ifcfg-ens33 ifcfg-ens33 &#xff08;4&#xff09;光标移…

深/浅拷贝

现在有一个我们自定义的Person对象,如何去克隆这个对象? class Person{public int id;Overridepublic String toString() {return "Person{" "id" id };} } public class Test2 {public static void main(String[] args) {Person person1 new Person()…

ATFX国际:美国CPI骤降至3%,高通胀问题或不复存在

ATFX国际&#xff1a;美国通胀率数据搅动国际金融市场。6月未季调CPI年率&#xff0c;最新值3%&#xff0c;低于前值4%和预期值3.1%&#xff1b;6月未季调核心CPI年率&#xff0c;最新值4.8%&#xff0c;低于前值5.3%&#xff0c;低于预期值5%。名义CPI和核心CPI数据双双大降&a…

c++从源文件到可执行文件经历了什么

1.c从源文件到可执行文件经历了什么 在linux平台上 main.c —> a.out 在windows平台上 main.c --> xx.exe gcc -E main.c -o main.i // 预处理 gcc -S main.i -o main.s // 编译 gcc -c main.s -o main.o // 汇编 gcc main.o -o hello //链接

软件测试面试题 —— 整理与解析(3)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;&#x1f30e;【Austin_zhai】&#x1f30f; &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xf…

Python的多线程编程-同步机制Lock实现

在Python的多线程编程中&#xff0c;为避免多个线程同时访问同一个共享资源而发生冲突&#xff0c;需要使用同步机制来确保线程安全&#xff0c;其中Lock就是一个同步机制。 Lock是一个互斥锁&#xff0c;当线程获取了锁&#xff0c;其他线程就不能再获取该锁&#xff0c;直到…

Redis_客户端命令和数据操作(3)

目录 切换数据库 键命令 数据结构 string类型 hash类型 list类型 set类型 zset类型 查看中文value 源码等资料获取方法 切换数据库 redis数据库没有名称&#xff0c;默认有16个&#xff0c;通过0-15来标识&#xff0c;连接redis默认选择第一个数据库&#xff0c;可以…

pytorch 中的执行模式

两种模式&#xff1a; PyTorch 支持两种执行模式&#xff1a;eager mode 和 graph mode。 E 模式&#xff0c;侧重于易用性与灵活性&#xff0c;适合科研人员&#xff0c;用于验证想法&#xff0c;魔改模型&#xff1b; G模式: 侧重于性能方面&#xff0c;适合生产&#xff0c;…

tomcat学习随笔

Tomcat结构与原理 一、组成ServerServiceConnectorProtocolHandlerEndpointProcessor Adaptor ContainerEngineHostContextWrapper 运行热部署jsp类war tomcat根路径目录结构示意图 一、组成 tomcat结构debug示意图 Server tomcat的实例&#xff0c;支持多个Service Service …

ChatGPT炒股:从股票招股说明书中批量提取竞争对手信息

股票招股说明书中都会提到上市公司的市场竞争情况和竞争对手。要研究企业&#xff0c;就必须仔细研究竞争对手。怎么将竞争对手这些信息批量从招股说明书中提取出来呢&#xff1f; 首先观察其规律&#xff1a; 有的是这样写的&#xff1a; 行业内的主要企业&#xff1a;浙江…

《Python机器学习:基于PyTorch和Scikit-Learn》——AIC松鼠活动第三期

内容简介 本书是一本全面介绍在PyTorch环境下学习机器学习和深度学习的综合指南&#xff0c;可以作为初学者的入门教程&#xff0c;也可以作为读者开发机器学习项目时的参考书。 本书讲解清晰、示例生动&#xff0c;深入介绍了机器学习方法的基础知识&#xff0c;不仅提供了构…

【广州华锐互动】疏通清洗车VR实训教学平台

疏通作业车是一种专门用于城市下水道、排水管道等清理和维护的特种车辆。由于其工作环境复杂&#xff0c;操作难度较大&#xff0c;因此需要专业的培训和技能掌握。为了提高疏通作业车驾驶员的技能水平&#xff0c;VR虚拟仿真技术应运而生。 VR虚拟仿真技术是一种通过计算机模…

记录jeecg-boot及a-table前端问题

标签页重复 原因&#xff1a; 在TabLayout中它有监听$route&#xff0c;是根据route.fullpath去判断的。这就会出现一种情况&#xff0c;我是同一个path比如/detail,但是我带了个参数/detail?id132165151651和/detail?id256151561651这两个fullpath明显不同&#xff0c;所以…

ciscoNAT

静态NAT Router0 int f0/0 ip add 192.168.1.3 255.255.255.0 # 两个PC的网关 no shutdown int f0/1 ip add 202.103.224.1 255.255.255.0 no shutdown exit ip route 0.0.0.0 0.0.0.0 202.103.224.2 # 配置默认路由能够去往目标网络 # 将内部网络的IP地址(192.168.1.1)映射到…

Typora 免费版下载安装(超简单亲测适用于Windows)与入门

前言 Typora大家都知道&#xff0c; 是一款好用的编辑器和阅读器。鬼鬼为大家找了一个可使用版本&#xff0c;安装过程十分简单&#xff0c;亲测有效&#xff0c;不浪费大家时间&#xff0c;现在将Typora分享给大家免费使用。下载链接在文章最后。 目录 前言 一、Typora的介…