mysql的索引按照頁來存儲(chǔ)案狠, 目前大多數(shù)操作系統(tǒng)磕昼,一個(gè)頁的大小為16KB卷雕。
拿主鍵索引樹舉例,
1票从、如果主鍵為int 占4個(gè)字節(jié)漫雕, 一個(gè)指針(64位系統(tǒng))占8個(gè)字節(jié)滨嘱, 則根結(jié)點(diǎn)可存儲(chǔ)16KB/(4+8) 約等于1300, 此時(shí)分叉數(shù)約為1300
當(dāng)樹高為3時(shí)蝎亚, 可存儲(chǔ)數(shù)據(jù)條數(shù) 1300^3 =2197000000
2九孩、如果主鍵為bigint 占8個(gè)字節(jié), 一個(gè)指針(64位系統(tǒng))占8個(gè)字節(jié)发框, 則根結(jié)點(diǎn)可存儲(chǔ)16KB/(8+8) 約等于1000躺彬, 此時(shí)分叉數(shù)約為1000
當(dāng)樹高為3時(shí), 可存儲(chǔ)數(shù)據(jù)條數(shù) 1000^3 =1000000000? ?梅惯,即為10億條
所以可以看出宪拥, 通常innodb 遍歷索引樹,最多遍歷2~3層索引樹铣减,即可得到結(jié)果她君。