mysql深度分页

推荐阅读:
https://cloud.tencent.com/developer/article/1884103

limit 100000,10: 分页的执行(只讨论二级索引命中的情况):先到二级索引查找符合条件的id 10000010行,然后对这所有数据一条一条进行一级索引回表操作过滤剩下的where条件(这就是慢的原因)

select id,name,balance from account a where a.update_time >= '2020-09-19' limit 100000, 1

优化:

select id,name,balance FROM account where id >= (select a.id from account a where a.update_time >= '2020-09-19' limit 100000, 1) LIMIT 10;

这样优化后,就不会产生回表,直接两部:1,二级索引找id;2,主键索引找数据

相关推荐
xiaoduyyy13 分钟前
【Android】ToolBar,滑动菜单,悬浮按钮和可交互提示等的使用方法
android
liyy61427 分钟前
Android架构组件:MVVM模式的实战应用与数据绑定技巧
android
后端小张1 小时前
Redis 执行 Lua,能保证原子性吗?
数据库·redis·缓存
离开地球表面_991 小时前
索引失效?查询结果不正确?原来都是隐式转换惹的祸
数据库·后端·mysql
lipviolet1 小时前
Redis系列---Redission分布式锁
数据库·redis·分布式
Zhen (Evan) Wang1 小时前
.NET 6 API + Dapper + SQL Server 2014
数据库·c#·.net
毕设木哥2 小时前
25届计算机专业毕设选题推荐-基于python+Django协调过滤的新闻推荐系统
大数据·服务器·数据库·python·django·毕业设计·课程设计
洛阳泰山2 小时前
Llamaindex 使用过程中的常见问题 (FAQ)
java·服务器·数据库·python·llm·rag·llamaindex
没有名字的小羊2 小时前
Linux基础命令——账户简单管理
linux·运维·服务器·网络·数据库
smile_life_2 小时前
服务器非法关闭后MySQL服务启动失败
运维·服务器·mysql