关于MySQL索引面试题的6连炮!
![]() 个特定的数据结构去找到那一列的值,然后找到对应的行的物理地址即可。 那么回答面试官的一个问题,mysql的索引是怎么实现的? 答案是,不是二叉树,也不是一颗乱七八糟的树,而是一颗b+树。这个很多人都会这么回答,然后面试官一定会追问,那么你能聊聊b+树吗? 但是说b+树之前,咱们还是先来聊聊b-树是啥,从数据结构的角度来看,b-树要满足下面的条件: (1)d为大于1的一个正整数,称为B-Tree的度。 (2)h为一个正整数,称为B-Tree的高度。 (3)每个非叶子节点由n-1个key和n个指针组成,其中d<=n<=2d。 (4)每个叶子节点最少包含一个key和两个指针,最多包含2d-1个key和2d个指针,叶节点的指针均为null 。 (5)所有叶节点具有相同的深度,等于树高h。 (6)key和指针互相间隔,节点两端是指针。 (7)一个节点中的key从左到右非递减排列。 (8)所有节点组成树结构。 (9)每个指针要么为null,要么指向另外一个节点。 (10)如果某个指针在节点node最左边且不为null,则其指向节点的所有key小于v(key1),其中v(key1)为node的第一个key的值。 (11)如果某个指针在节点node最右边且不为null,则其指向节点的所有key大于v(keym),其中v(keym)为node的最后一个key的值。 (12)如果某个指针在节点node的左右相邻key分别是keyi和keyi+1且不为null,则其指向节点的所有key小于v(keyi+1)且大于v(keyi)。
上面那段规则,我也是从网上找的,说实话,没几个ja (编辑:柳州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |