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

深分页为什么慢?怎么进行优化。

预防回表的问题,由于二级索引引起的。

最主要的问题: 用 Limit 的原因。

**解决:**消除用 Limit ,用主键id作为条件处理

=============== 解决方案 ==========

情形1 : 数据只有索引覆盖。

方案1 : SELECT [索引1],[索引2] FROM xxxTable where [索引2] LIMIT n m

情形2 : 查询当中还有其他数据。

方案2 : 把索引覆盖作为一个子查询,然后用一级索引表关联。

JOIN (子查询) temp ON t.id = temp.id

方案3 :对方案3的改进 不需要上述前提条件的方案,采用游标。要记录下上一个分页,最大的id值, maxId。

缺点:不能跳转页面,并且不能为非增主键,比如UUID。

最终可选方案:(可以同时,结合方案3与方案2,且主键自增)

第一步:判断页面是否是下一页。

​ 若是方案3

​ 若不是方案2

====================================

业务上的补充:

在业务上对深分页非必须的时候,限制深分页即可。

http://www.jsqmd.com/news/619832/

相关文章:

  • Bugku-头等舱eval矛盾变量
  • AScript动态脚本语言:5分钟终极完整入门指南与iOS热更新解决方案
  • FPGA新手必看:Vivado眼图测试全流程详解(附常见连接失败解决方案)
  • 15DaysofAnimationsinSwift弹性头部动画:打造沉浸式界面体验
  • 如何优化SQL中大批量数据的物理删除_分批次与间隔控制
  • 解决NPOI程序集版本冲突:从依赖项不匹配到完美运行的实战指南
  • 配置库管理报告
  • Mysql--基础知识点--94--in vs exist
  • 还在手动逐字转写调研访谈录音?2026年这4款录音转文字软件,1分钟搞定2小时长音轨
  • warning C4819: 该文件包含不能在当前代码页(936)中表示的字符
  • Google Earth Engine(GEE)——延时动画的添加和Time-lapse和视频的导出
  • 还在手动逐字扒访谈会议录音熬大夜?2026年音频转文字推荐4款神器,1小时内容1分钟出稿
  • Qt实战|基于Modbus TCP的工业数据采集与监控系统构建
  • 我以后调用图片验证码就很简单了-----一行代码
  • 配置管理计划
  • 5分钟解锁VMware macOS支持:告别复杂手动配置,轻松体验苹果系统
  • SIMXXX 在高德地图定位到我的位置
  • 数字主权与跨境数据流动:全球开发者的新挑战
  • ROS新手必看:用SolidWorks2020和sw_urdf_exporter快速搭建挖掘机仿真模型
  • 别再只写Hello World了!给你的STM32网关加上MQTT通信和HTTPS安全传输(基于mbedTLS)
  • SCM-03-配置项变更控制报告
  • 从逻辑专家到全能选手:AI模型如何根据任务需求精准选型
  • 含有分布式电源的配电网日前优化调度粒子群算法的MATLAB程序:目标函数为网络损耗与电压偏差的...
  • SQL如何对分组字段进行自定义排序_配合FIELD函数实现
  • Fluent新手避坑:圆柱绕流仿真不收敛?可能是边界层网格没设对(附20层 vs 5层对比案例)
  • 用C#实现三菱PLC控制的那些事儿
  • Gurobi 10.0学术版安装指南:从校园网认证到JupyterLab实战配置
  • 基于 FastAPI + Vue 深度定制的全栈自动化执行引擎设计全解蚁
  • Axure RP 中文界面优化:从语言障碍到流畅设计的智能解决方案
  • IDEA集成开发技巧:利用Phi-3-mini优化Java项目结构与重构代码