news 2026/10/23 13:39:21

MySQL面试题 如何解决深分页?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL面试题 如何解决深分页?

深分页为什么会慢?

深分页select * from table limit offset,size它不是跳过offset条,而是从第一条开始扫描,舍弃前面的offset条,最后再取出size条数据
所以offset越大,需要扫描的行数就越多,就会越慢

深分页怎么解决?

1.子查询+覆盖索引

子查询就是先通过索引定位到起始id,再通过id去主键索引里找数据

SELECT*FROMordersWHEREid>=(SELECTidFROMordersORDERBYidLIMIT1000000,1)ORDERBYidLIMIT20;

先通过覆盖索引先定位到要要取的二十个主键,再回表查完整数据

SELECTo.*FROMorders oJOIN(SELECTidFROMordersORDERBYidLIMIT1000000,20)tONo.id=t.id;
2.游标分页

游标分页就是每次查询都需要先提供上一页的最后一条数据的id,查询时根据这个id跳过前面的数据

SELECT*FROMordersWHEREid>1000000ORDERBYidLIMIT20;

游标分页的局限性

  1. 只能一页一页的查询,不能条页
  2. 需要id是递增的
  3. 删除数据可能导致分页错乱。比如用户在看第 2 页时,第 1 页的数据被删了,刷新后原本在第 2 页的内容会“顶”到第 1 页,导致翻页时漏掉部分信息。

业务层面的解决方案

1)限制最大翻页数。Google 搜索、淘宝商品列表都不让你翻到第 10000 页。大部分用户不会真的翻那么多页,限制一下既省资源又合理。

2)改交互方式。无限滚动加载就是典型的游标分页场景,用户感知不到页码,也不需要跳页。

3)缩小数据范围。深度分页通常说明数据量太大,可以引导用户加筛选条件,把结果集控制在合理范围内。

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

Windows 11性能优化实战:3招让你的系统重获新生

Windows 11性能优化实战:3招让你的系统重获新生 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改善你的…

作者头像 李华
网站建设 2026/10/22 2:24:43

caj2pdf免费转换工具:彻底解决CAJ格式兼容问题的终极方案

caj2pdf免费转换工具:彻底解决CAJ格式兼容问题的终极方案 【免费下载链接】caj2pdf 项目地址: https://gitcode.com/gh_mirrors/caj/caj2pdf 您是否曾经为了阅读知网下载的CAJ格式文献而苦恼?想象一下,在移动设备上无法直接打开&…

作者头像 李华
网站建设 2026/10/23 6:22:36

Z-Image-Turbo云海表现力测试:复杂自然场景生成案例

Z-Image-Turbo云海表现力测试:复杂自然场景生成案例 1. 引言:当AI遇见壮丽山河 你有没有想过,只需几句话,就能让AI为你“画”出一幅云海翻腾、日出金光洒满山巅的绝美风景?这不是电影特效,也不是专业画家…

作者头像 李华
网站建设 2026/10/21 21:52:38

MGeo模型热更新机制:不停机替换新版本地址匹配模型

MGeo模型热更新机制:不停机替换新版本地址匹配模型 在处理中文地址数据时,实体对齐是一项极具挑战性的任务。不同系统中记录的地址信息往往存在表述差异、缩写习惯、顺序颠倒等问题,例如“北京市朝阳区建国门外大街1号”和“北京朝阳建国外大…

作者头像 李华
网站建设 2026/10/19 4:59:04

QRemeshify终极指南:Blender智能重拓扑插件完全解析

QRemeshify终极指南:Blender智能重拓扑插件完全解析 【免费下载链接】QRemeshify A Blender extension for an easy-to-use remesher that outputs good-quality quad topology 项目地址: https://gitcode.com/gh_mirrors/qr/QRemeshify 还在为复杂的网格拓扑…

作者头像 李华
网站建设 2026/10/23 4:49:46

从0开始学语音情感识别,Emotion2Vec+镜像手把手教学

从0开始学语音情感识别,Emotion2Vec镜像手把手教学 1. 为什么语音情感识别值得你花时间学? 你有没有遇到过这些场景: 客服系统听不出你语气里的不耐烦,反复问“请问还有其他问题吗?”在线教育平台无法判断学生是真听…

作者头像 李华