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,主键索引找数据

相关推荐
非门由也2 小时前
Android studio安装教程——超详细(含安装包安装教程)
android·ide·android studio
平淡风云2 小时前
Android应用添加日历提醒功能
android·日历
小蒜学长2 小时前
基于springboot 校园餐厅预约点餐微信小程序的设计与实现(代码+数据库+LW)
数据库·spring boot·微信小程序
kimble_xia@oracle2 小时前
Oracle打补丁笔记
数据库·oracle
清风徐来QCQ2 小时前
阿里云centos7-mysql的使用
mysql·阿里云·云计算
鼠鼠我捏,要死了捏2 小时前
大规模系统中的分库分表原理深度解析与性能优化实践指南
数据库·性能优化·分库分表
Rhys..3 小时前
Python&Flask 使用 DBUtils 创建通用连接池
开发语言·python·mysql
舒一笑3 小时前
为什么where=Version就是乐观锁了?
后端·mysql·程序员
Linux运维技术栈3 小时前
【实战+原理】微软云 Azure Database 私有网络接入模式全解析:从子网委派到Private Endpoint
数据库·microsoft·azure