后端面试之MySQL-InnoDB一颗B+树可以存放多少行数据?

首发于微信公众号:【码农在新加坡】,欢迎关注。

个人博客网站:后端面试之MySQL-InnoDB一颗B+树可以存放多少行数据?

背景

MySQL的InnoDB引擎一棵B+树可以存放多少行数据?这是一个很有趣的面试题。
也许你会猜1千万,2千万,或者上亿条数据?

当你看完这篇文章,你就心中有数了。
最重要的是,这篇文章能让你更深入的理解InnoDB的B+树索引的方方面面。

看完这篇文章,你可以同时回答以下几个关于InnoDB B+树的面试题:

  • MySQL InnoDB一颗B+树能存多少数据?
  • MySQL InnoDB的B+树每个非叶子结点能有多少分支?
  • MySQL InnoDB为什么使用B+树而非B树/Hash?
  • MySQL InnoDB为什么推荐使用自增ID做主键?

InnoDB

索引类型

我们都知道,MySQL有多种储存引擎,比如:InnoDBMyISAMMemoryMergeArchiveCSVBlackhole等。
其中最常用的储存引擎就是InnoDB,所以学好InnoDB也是理解MySQL的核心。

InnoDB支持多种索引:

  • B+树索引 - 传统意义上的索引,B+树索引并不能根据键值找到具体的行数据,B+树索引只能找到行数据锁在的页,然后通过把页读到内存,再在内存中查找到行数据。B+树索引也是最常用的最为频繁使用的索引。

你可能感兴趣的:(面试题,b树,mysql,后端)