innodb B+树的分裂

Posted yzs的专栏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了innodb B+树的分裂相关的知识,希望对你有一定的参考价值。

mysql5.7.26中,B+树的分裂又经过了优化。
进行分裂时,如果定位的cursor是当前页的尾部,先试图向右兄弟页插入。
如果插入失败,再进行分裂。减少分裂次数。
btr_page_split_and_insert

...
rec = btr_insert_into_right_sibling(
flags, cursor, offsets, *heap, tuple, n_ext, mtr);

if (rec != NULL)
return(rec);
...
进行分裂

以上是关于innodb B+树的分裂的主要内容,如果未能解决你的问题,请参考以下文章

详解MySQL索引与底层原理

B树概念和插入实现

InnoDB为什么要使用auto_Increment

UVA 11922 Permutation Transformer —— splay伸展树

mysql索引—B+树 页的分裂

索引分裂:90-10分裂