当前位置: 首页 > news >正文

mysql深分页

第一种:主键自增id情况:

未改:

   select * from  wx_product_category_info where category_name_cn=#{categoryNameCn} and category_type=#{categoryType} order by id asclimit #{pageNum}, #{pageSize};

在普通的limit条件下,如果是直接limit条件查询,他的查询顺序 是通过二级索引查到主键索引,然后在通过主键索引 查询所有的列,会涉及到数据库回表操作,这种情况下在深分页的时候 查询效率大大降低,可以通过 排序,排除解决

改后: 通过前端传递,把当前页最小的id计算带过来,进行排除就可以减少回表并通过主键索引来查询进行提高效率
在这里插入图片描述

  select * from  wx_product_category_info where category_name_cn=#{categoryNameCn}and category_type=#{categoryType} and id>#{minId}order by id asclimit #{pageNum}, #{pageSize};

第二种:主键是UUID:

这种情况下,就不能使用主键排序的方式来做了,因为他是无序的。
但是可以使用伪排序进行操作,通过uuid——Id 建立一个关系表建立伪排序关系,从而可以有序排序

给 uuid 一个伪排序
1, abcd-abcd-abcd
2, bcde-bcde-bcde
然后利用 id 继续上面的操作

第三种:主键是UUID 且不想关联伪关系的情况下

可以引用:Elastic Search搜索引擎(基于倒排索引),实际上类似于淘宝这样的电商基本上都是把所有商品放进ES搜索引擎里的(那么海量的数据,放进MySQL是不可能的,放进Redis也不现实)。但即使用了ES搜索引擎,也还是有可能发生深度分页的问题的,这时怎么办呢?答案是通过游标scroll。关于此点这里不做深入。

相关文章:

mysql深分页

第一种:主键自增id情况: 未改: select * from wx_product_category_info where category_name_cn#{categoryNameCn} and category_type#{categoryType} order by id asclimit #{pageNum}, #{pageSize};在普通的limit条件下,如果…...

【JavaScript由浅入深】常用的正则表达式

【JavaScript由浅入深】常用的正则表达式 文章目录 【JavaScript由浅入深】常用的正则表达式写在前面一、认识正则表达式1.1 正则表达式的概念 二、正则表达式的使用2.1 使用构造函数创建正则表达式2.2 使用字面量创建正则表达式2.3 补充 三、正则表达式常见规则3.1 字符类3.2 …...

QT常用类型字节数组QByteArray及其基本使用

目录 概述特点常见函数QByteArray::append:QByteArray::insert:QByteArray::replace:QByteArray::remove:QByteArray::toHex:QByteArray::fromHex:QByteArray::toBase64:QByteArray::fromBase64…...

APP 兼容性测试是什么?8年测试老鸟告诉你

1、APP 兼容性测试认识 随着 APP 应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得 APP 兼容性测试成为测试质量保障必须要考虑的环节。 APP 兼容性测试通常会考虑:操作系统、厂…...

Golang每日一练(leetDay0061) 表列序号、阶乘后的零

目录 171. Excel 表列序号 Excel Sheet Column Number 🌟 172. 阶乘后的零 Factorial Trailing Zeroes 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练…...

深度解析C++异常处理机制:最佳实践、性能分析和挑战

C 基础知识 八 异常处理 下篇 一、异常处理实践1 编写高质量代码中的异常处理1.1 只在必要时才使用异常1.2 尽量减小异常的范围1.3 不要隐藏异常1.4 不要在析构函数中抛出异常1.5 使用 RAII 技术来管理资源 2 维护异常类2.1 按照异常类型的功能来定义异常类2.2 继承现有的异常类…...

【Spring事务】Spring事务事件控制,解决业务异步操作

使用背景 在业务中,经常会有这样的需求,在数据库事务提交之后,发送异步消息或者进行其他的事务操作。 例如当用户注册成功之后,发送激活码,如果用户注册后就执行发送激活码,但是在用户保存时出现提交事务…...

Java 中的注释有哪些?

在 Java 中,有三种注释方式:单行注释、多行注释和文档注释。注释是程序中的一种重要的辅助性说明文字,可以增加程序的可读性和可维护性,方便其他程序员阅读和理解代码。 单行注释 单行注释是指以“//”开头的注释,注释…...

yolov4

1 V4版本概述 集各种优秀方案于一身,嫁接了众多主流的目标识别方面的情况。 V4 贡献 3. 数据增强策略分析 BOF Bag of freebies(BOF) Mosiac 数据增强 Mixup 比如将狗和猫的两张图片混合,一半猫,一半狗。 label 也变成 Dog 0.5 , Cat 0…...

金融学第二版笔记第一章1.1

第1部分 金融和金融体系 第一章金融学 1.1 一、 对金融学进行界定 1.金融 金融是货币流通、信用活动及与之相关的经济行为的总称。 简言之,就是货币资金的融通。一般是指以银行、证券市场等为中心的货币流通和信用调节活动,包括货币的发行和流通、存…...

[架构之路-193]-《软考-系统分析师》-2-应用数学 - 项目周期与关键路径(PERT图、甘特图、单代号网络图、双代号网络图)

1. 关键概念 1.1 关键路径 关键路径通常(但并非总是)是决定项目工期的进度活动序列。它是项目中最长的路径,即使很小浮动也可能直接影响整个项目的最早完成时间。关键路径的工期决定了整个项目的工期,任何关键路径上的终端元素…...

滋灌中小企业,分销伙伴和华为来做“送水人”

最近有个段子:第一批靠生成式AI赚大钱的人,既不是研发人员,也不是国内大厂,而是卖课的。 大家笑谈,每一轮新技术的掘金之路,最先致富的都是送水、卖铲子的。 这其实隐藏了一个信息技术产业的普遍规律&#…...

面试华为测试岗,收到offer后我却毫不犹豫拒绝了....

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是2年。我想说的是,但凡有点机会,千万别去外包! 在深思熟虑过后&am…...

深入了解浮点型变量输入与输出

深入了解浮点型变量输入与输出 前言 C 语言中浮点型变量的输入和输出在程序开发中非常常见,比如经常出现在数据处理和科学计算中。在此篇文章中,我们将探讨浮点型变量输入和输出的一些细节和注意事项。 浮点型变量的定义和初始化 在 C 语言中&#x…...

Vector - CAPL - CANoe硬件配置函数 - 03

目录 canFlushTxQueue -- 刷新已定义的Tx队列 代码示例 canSetChannelAcc -- CANoe接收过滤器设置 代码示例 canSetChannelMode -- CAN控制器Tx使能/失能 代码示例 canSetChannelOutput -- Ack自应答使能/失能 代码示例 getCardTypeEx -- CAN控制器类型 canFlushTxQue…...

单开网页应用利器 - BroadcastChannel

前言 前段时间在做一个基于 psd 模板生成图片的应用,其中重要的功能就是打开编辑器页面来设计出图。但是有个问题,每当我点击一个模板,就会新开一个浏览器页签。现代浏览器是以空间换时间的运行思路来提高效率,这就导致了内存开销…...

OpenCv更改颜色空间以及图像阈值

本文主要讲解以下几个方面: 如何将图片从一个颜色空间转换到另一个,例如 BGR 到 Gray,BGR 到 HSV 等。简单阈值法另外,我们会创建一个从图片中提取彩色对象的应用。 1.改变颜色空间 cv.cvtColor(img, flag) 参数flag表示颜色空间转换的方…...

(邱维声)高等代数课程笔记:基,维数与坐标

3.5 基,维数与坐标 \quad 本节,继续研究线性空间的结构。一般地,设 V V V 是数域 K K K 上的一个线性空间。 \quad 首先,我们先将“线性相关”与“线性无关”的概念由“有限”向“无限”推广。 对比其它高等代数教程&#xff0c…...

Spring Security + Jwt 集成实现登录

文章目录 前言Maven 相关依赖配置文件自定义springsecurity相关认证流程继承WebSecurityConfigurerAdapter继承AbstractAuthenticationToken继承AbstractAuthenticationProcessingFilter实现AuthenticationProvider实现UserDetailsService实现AccessDeniedHandler实现Authentic…...

yolov5 用自己的数据集进行训练

在训练之前先要按照一定目录格式准备数据: VOC标签格式转yolo格式并划分训练集和测试集_爱钓鱼的歪猴的博客-CSDN博客 目录 1、修改数据配置文件 2、修改模型配置文件 3、训练 1、修改数据配置文件 coco.yaml 拷贝data/scripts/coco.yaml文件, pa…...

docker详细操作--未完待续

docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

GitHub 趋势日报 (2025年06月06日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...