其他分享
首页 > 其他分享> > B+Tree

B+Tree

作者:互联网

 

1.非叶子节点,不存放索引对应数据,存放的是下级叶节点中最小键值(表中主键),和子节点的指针(字节点地址信息)。 2.叶子节点存放的是索引值和索引所对应的数据,页中数据以链表形式存放,且是顺序存放。 3.页与页之间使用双向链表链接,每页数据大小为16KB,一般主键表中主键类型为INT(占四个字节)和BIGINT(占8个字节),指针大小在源码中设置为6个字节。也就是说一个page存储(16KB/(8B+6B)=1170个键值,可以算出一个高度为2的B+Tree可以存放1170*1170=1368900这样的数据。假设一条数据大小为1K那么一页可以存放16条数据(这里假设一行记录的数据大小为1k,实际上现在很多互联网业务数据记录大小通常就是1K左右)。那么高度为3的B+Tree可以存放1170*1170*16=21902400,所以在InnoDB中B+树高度一般为1-3层,它就能满足千万级的数据存储。在查找数据时一次页的查找代表一次IO,所以通过主键索引查询通常只需要1-3次IO操作即可查找到数据。

 

 

标签:1170,Tree,节点,索引,存放,数据,主键
来源: https://www.cnblogs.com/sunnycc/p/15584636.html