(1条消息)B+树算法在mysql中能存多少行数据?_B+树,算法_陈
sir的博客-CSDN博客
在面试的时候,如果问到了B+树这个东西,或者问到了MySQL索引的底层实现,也希望大家能够进一步的发
挥,和面试官探讨一下,为什么B+树一般都是3层左右,为什么3层的B+树可以存放2千万的数据,这个到底是
怎么计算的,计算的过程大家是要好好消化理解的!
面试的时候,你能答到这一点,绝对是一个加分项!
一、InnoDB一棵B+树可以存放多少行数据?
InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以
算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。
我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。
在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他的最
小单元是块,一个块的大小是4k,而对于我们的InnoDB存储引擎也有自己的最小储存单元——页(Page),
一个页的大小是16K。
二、下面几张图可以帮你理解最小存储单元:
文件系统中一个文件大小只有1个字节,但不得不占磁盘上4KB的空间。
innodb的所有数据文件(后缀为ibd的文件),他的大小始终都是16384(16k)的整数倍。
评论