InnoDB中一棵B+树可以存放多少行数据?
InnoDB一棵B+树可以存放多少行数据? 这个问题的简单回答是: 约2千万 。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。 我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。 在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他的最小单元是块,一个块的大小是4k,而对于我们的InnoDB存储引擎也有自己的最小储存单元——页(Page),一个页的大小是16K。 下面几张图可以帮你理解最小存储单元: 文件系统中一个文件大小只有1个字节,但不得不占磁盘上4KB的空间。 innodb的所有数据文件(后缀为ibd的文件),他的大小始终都是16384(16k)的整数倍。 磁盘扇区、文件系统、InnoDB存储引擎都有各自的最小存储单元。 在MySQL中我们的InnoDB页的大小默认是16k,当然也可以通过参数设置: mysql> show variables like 'innodb_page_size'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | innodb_page_size | 16384 | +-