当前位置:   article > 正文

mysql是如何查询数据的?

mysql是如何查询数据的?

本篇文章想从宏观的角度谈谈mysql究竟是如何定位到一条行记录的。

参考:从数据页的角度看 B+ 树 | 小林coding (xiaolincoding.com)

首先外层是一个b+树,b+树的每个节点都是一个数据页,数据页包含了文件头,页目录,行数据。

我们先通过b+树定位到一个数据页,然后数据页里面是如何查询的呢?他会对行数据进行分组(按主键大小用链表相连),查询时对组进行二分查找,对组内元素用遍历的方式。(不用担心一个组内的元素特别多,遍历会花很多时间,innodb规定一个组最多8条行记录),以这种方式我们把链表O(n)的时间复杂度,缩小到了近似O(logn)的时间复杂度。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/230733
推荐阅读
相关标签
  

闽ICP备14008679号