紅黑樹爲啥不可以作爲Mysql的索引

紅黑樹基本都是存儲在內存中才會使用的數據結構。

在大規模數據存儲的時候,紅黑樹往往出現由於樹的深度過大而造成磁盤IO讀寫過於頻繁,進而導致效率低下的情況。

爲什麼會出現這樣的情況,我們知道要獲取磁盤上數據,必須先通過磁盤移動臂移動到數據所在的柱面,然後找到指定盤面,接着旋轉盤面找到數據所在的磁道,最後對數據進行讀寫。磁盤IO代價主要花費在查找所需的柱面上,樹的深度過大會造成磁盤IO頻繁讀寫。根據磁盤查找存取的次數往往由樹的高度所決定,所以,只要我們通過某種較好的樹結構儘量減少樹的高度,B樹可以有多個子女,從幾十到上千,可以降低樹的高度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章