【发布时间】:2018-01-22 06:11:04
【问题描述】:
如果key是按升序插入的,按照正常的B+-tree特性,当叶子页满了的时候,会分裂,会有一个新的页面引入B+-tree。
例如,如果一个叶子页面最多包含 3 个键。
(page0)|1|2|3|
然后插入钥匙4:
|1|3|*|(page0)
(page1)|1|2|*| |3|4|*|(page2)
在此之后,后面的键将被插入到 page2 直到下一次拆分,因为它们是按升序排列的。所有之前的页面都将保持半满。
在我的例子中,我想这会导致空间被浪费。但是,在数据库中,这似乎是不合理的。这真的让我很困惑。我读过Jeremy Cole-B+Tree index structures in InnoDB,但我可能误解了一些东西。
【问题讨论】: