news 2026/11/3 1:14:07

UUID主键的深分页如何解决?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UUID主键的深分页如何解决?

传统的深分页优化(游标分页)核心原理是 WHERE id > 上一页最后的id 。但 UUID 是随机无序的字符串,如果直接用它做比较,查出来的数据顺序是乱的,会导致分页数据重复或遗漏。

怎么优化?(3种实战方案)

方案一:组合游标分页(最推荐,无需加字段)

利用“创建时间 + UUID”作为联合排序条件。因为时间是有顺序的,而 UUID 保证了同一时间下的唯一性。

SQL 示例:

WHERE (create_time, id) > (上一页最后的时间, 上一页最后的UUID) ORDER BY create_time, id LIMIT 10

注:必须为 create_time 和 id 建立联合索引,否则大数据量下依然很慢。

方案二:延迟关联(适合必须跳页的场景)

先用二级索引查出目标页的主键 ID,再回表查全量数据,减少回表开销。

SQL 示例:

SELECT * FROM 表名 JOIN (SELECT id FROM 表名 ORDER BY create_time LIMIT 9000000, 10) tmp ON 表名.id = tmp.id

方案三:新增自增序列字段(最彻底)

如果业务允许修改表结构,直接加一个自增的 INT/BIGINT 字段(如 sequence_id )或雪花算法 ID,用这个新字段来做游标分页。

总结建议:

如果不想改表结构,用方案一;

如果允许加字段,用方案三;

如果是后台管理系统必须支持“跳转到第100页”,用方案二。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/1 6:16:32

数据防泄密软件有哪些好用的?珍藏五款数据防泄密软件大公开

说真的,现在企业数据泄露的事儿越来越多,一不小心就可能把客户资料、设计图纸、合同文件给"送"出去了。轻则赔钱道歉,重则官司缠身。所以越来越多的老板和IT负责人开始认真考虑:到底有没有靠谱的数据防泄密软件&#xf…

作者头像 李华
网站建设 2026/11/1 6:16:33

如何一键获取网易云与QQ音乐歌词:开源歌词管理终极指南

如何一键获取网易云与QQ音乐歌词:开源歌词管理终极指南 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为音乐播放器缺少歌词而烦恼?还在手动…

作者头像 李华
网站建设 2026/11/2 0:28:27

ZigBee Green Power 3.0:超低功耗物联网设备的通信架构与实战

1. ZigBee Green Power 3.0:为“永不断电”的物联网设备铺路在智能家居和工业物联网的部署中,我们常常遇到一个两难困境:那些需要安装在犄角旮旯、长期无人维护的传感器或开关,比如门窗磁、温湿度计、光照传感器,更换电…

作者头像 李华
网站建设 2026/11/2 2:10:19

PersistentWindows:彻底解决Windows多显示器窗口错位的终极方案

PersistentWindows:彻底解决Windows多显示器窗口错位的终极方案 【免费下载链接】PersistentWindows fork of http://www.ninjacrab.com/persistent-windows/ with windows 10 update 项目地址: https://gitcode.com/gh_mirrors/pe/PersistentWindows 你是否…

作者头像 李华
网站建设 2026/11/1 13:46:14

如何快速获取网盘直链:2025年最新下载方案终极指南

如何快速获取网盘直链:2025年最新下载方案终极指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…

作者头像 李华