MySQL索引怎么实现分页探索
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"MySQL索引怎么实现分页探索",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL索引怎么实现分页探索"吧!MySQL索引优化
千家信息网最后更新 2026年11月02日MySQL索引怎么实现分页探索
这篇文章主要讲解了"MySQL索引怎么实现分页探索",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL索引怎么实现分页探索"吧!
MySQL索引优化之分页探索
表结构
CREATE TABLE `demo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄', `position` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '职位', `card_num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '工卡号', PRIMARY KEY (`id`), KEY `index_union` (`name`,`age`,`position`)) ENGINE=InnoDB AUTO_INCREMENT=450003 DEFAULT CHARSET=utf8;450003条数据
limit分页执行情况

像select * from demo limit 90000,10;考虑到回表,所以mysql干脆选择全表扫描。
mysql不是直接从第90000行开始计算10条,而是从第一个叶子节点开始计数,计算90010行。
案例一
针对上图,当id是连续自增的时候,可以用主键筛选出id=90000之后的数据。因为主键的索引是B+树结构,本身就是有序的。

案例二
先按照name排序,然后再从第90000行起找10行,虽然name是索引,但select的列在index_union索引树上并没有保存。
所以还会涉及到回表,于是mysql直接选择扫主键索引树的叶子结点,先将40多万数据根据name排好序,然后计算90000行+10行。
优化方法:利用子查询解决最消耗时间的排序和回表问题,联合索引树种保存有主键id,order by name的话可以将name、age、position整个索引充分使用因为确定了最左列的排序,其余的俩列age、和position其实也是
排好序的了,通过Extra字段也可以是使用了索引树做排序。
最外层的查询是根据主键来关联的,所以几乎可以忽略。10+10 因为id是主键,可以直接拿临时表10条数据去扫。
感谢各位的阅读,以上就是"MySQL索引怎么实现分页探索"的内容了,经过本文的学习后,相信大家对MySQL索引怎么实现分页探索这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
索引
数据
排序
学习
内容
叶子
就是
情况
案例
结构
问题
查询
选择
有序
上图
卡号
外层
姓名
字段
年龄
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州大一互联网络科技有限公司
互联网科技社
小马过河互联网科技
壕鑫互联网络科技
上海致骋互联网科技
佰商互联网科技有限公司
天扬科技互联网广告
甘肃拓世互联网科技有限公司
太原新华互联网科技学校怎么样
移动互联网科技股
汽车互联网创新科技园
智腾互联网科技有限公司
知域互联网科技有限公司大骗子
搜狐科技互联网
电子科技大学互联网创业大赛
迪庆互联网科技招生
用友工业互联网科技发展
广州富喜互联网络科技
上海同邻互联网科技有限公司规模
北京瑞云互联网科技有限公司
上海喔噻互联网科技有限公司
互联网新科技
科技股互联网
互联网科技有限公司经营范围
互联网科技会
互联网金融 科技金融
互联网科技寓意
开一家科技互联网公司需要多少钱
威龙国际互联网科技公司
10位科技互联网大佬