SQL Server B-Tree: Page Split
dbo.Users — clustered index on Id (identity)
UPDATE
dbo.Users
SET
AboutMe = '…much longer…'
WHERE
Id = 12345;
Root
Intermediate
Leaf · data pages
Root page 1:100
Id 1 → 1:200
Id 500,001 → 1:201
Intermediate page 1:200
Id 1 → 1:300
Id 8,001 → 1:301
Id 12,345 → 1:845
Id 16,001 → 1:302
Intermediate page 1:201
Id 500,001 → …
…
Page 1:300
Id 1
Id 1,450
Id 2,900
Id 4,300
Id 5,750
Id 7,200
91% full
Page 1:845 · new
≈48% full
Page 1:301
Id 8,001
Id 9,500
Id 11,000
Id 12,345
Id 13,800
Id 15,200
96% full
≈52% full
Page 1:302
Id 16,001
Id 18,500
Id 21,000
Id 23,400
64% full