mysql-Btree+
一家之言
btree
从网上找的图,解释btree+结构下的update/delete语句导致页分裂/页合并的场景;
主索引结构
主索引底层叶子结点
索引的叶子结点的结构
cache_buffer
页子节点的结构体中数据部分存储表中的行记录; 节点内部使用的binarySearch; 节点外部使用的外部索引查找;整体结构有序, 插入/删除节点的数据为了保证有序和节点空间使用效率而触发页分裂/页合并操作。
页分裂/页合并可以说是: btree+数据结构内部自适应优化的算法。页分裂是为了保证页内有序; 页合并是为了页空间利用率。