盘绰网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

详细说明在mysql查询时,offset过大影响性能的原因与优化办法

时间:2024/3/22作者:未知来源:盘绰网教程人气:


[摘要]+------------+----------+2 rows in set (0.04 sec)可以看出,此时buffer pool中关于member表只有13个数据页,263个索引页。因此减少了...
+------------+----------+2 rows in set (0.04 sec)

可以看出,此时buffer pool中关于member表只有13个数据页,263个索引页。因此减少了多次通过主键索引访问数据块的I/O操作,提高执行效率。

因此可以证实,mysql查询时,offset过大影响性能的原因是多次通过主键索引访问数据块的I/O操作。(注意,只有InnoDB有这个问题,而MYISAM索引结构与InnoDB不同,二级索引都是直接指向数据块的,因此没有此问题 )。

InnoDB与MyISAM引擎索引结构对比图

这里写图片描述


优化方法

根据上面的分析,我们知道查询所有字段会导致主键索引多次访问数据块造成的I/O操作。

因此我们先查出偏移后的主键,再根据主键索引查询数据块的所有内容即可优化。

关键词:  详细说明在mysql查询时  offset过大影响性能的原因与优化办法





Copyright © 2012-2018 盘绰网教程(http://www.panchuo.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版