索引

Mysql

1、索引,k-v对,k是索引字段的字段值,v-这条数据在磁盘上的位置指针

2、实际是B-Tree

3、

  索引

  索引

  使用二叉树、红黑树、B-Tree等树状结构存储索引,是为了快速查找,当极端情况,比如数据是递增的,二叉树就会出现严重的倾斜,虽然红黑树可以自平衡,但是当数据量足够大 时,树的高度还是很高,达不到我们创建索引是为了快速查找的目的。

  树的每个节点16k,可以使用sql查看<SHOW GLOBAL STATUS LIKE 'Innodb_page_size'>

  索引

    我们需要找到一种高度可控的树状数据结构,即在大数据量下,树的高度尽可能的最小,这样就可以最快速度查找到,

    每个节点16k,我们可以在每个节点存储多个k-v,这样就可以降低树的高度;

    B-Tree,每个节点就是存储了多个k-v,

    B+Tree,是B-Tree的变种,它把非叶子节点只存储索引,不存储值,叶子节点存储了所有的k-v,非叶子节点对索引做了冗余,使得每个非叶子节点的存储量更大,使得树的高度更低,查找速度更快

4、

  索引