数据结构与算法
- 二分查找法
- 二叉树
- 平衡二叉树
B+ Tree
- B+树的插入操作:这主要就是B+树分裂相关的知识点,传统的B+树插入,首先会检查叶子节点是否还有空间存放要插入的数据,如果有就直接存放,如果叶子节点没有,就将叶子节点中间元素提取至父节点,该叶子节点进行分裂,如果父节点有空间就直接存放刚刚提取叶子节点的中间元素,如果没有那么父节点也需要进行一次分裂。
- B+树的删除操作:这需要与填充因子挂钩,填充因子最小的取值是50%,删除后,如果叶子节点与中间索引节点都没有小于填充因子,则不会产生合并节点,如果叶子节点小于了填充因子,那么就会对其兄弟节点进行节点合并,然后更新中间索引节点,中间索引节点也是一样,如果小于了填充因子也会和兄弟节点进行合并,然后更新更上一层的索引节点。
B+ 树索引
-
聚集索引:按主键进行创建索引树,叶子节点存放整行的数据,一张表只能有一个聚集索引。聚集索引只是逻辑上连续,并不是物理上连续,节点之间采用双向链表,并且叶子节点中 页的数据也是采用双向链表。
-
辅助索引:我们创建的非聚集索引都是辅助索引,一张表可以存在多个赋值索引,赋值索引的叶子节点存储的是一个书签,该书签告诉InnoDB该从哪里找到该记录对应的整行数据
-
B+树索引的分裂:上面提到的B&