原文:為什么數據庫用b+樹不用b樹和紅黑樹

前幾天面試被問到了,沒答好,記錄一下: 首先說紅黑樹為什么不行: .紅黑樹必須存在內存里的,數據庫表太大了,存不進去。 .即使你找到了把紅黑樹存進硬盤的方法,紅黑樹查找一個節點最多要查logN層,每一層都是一個內存頁 雖然你只是想找一個節點,但硬盤必須一次讀一個頁。。 ,那么一共logN次IO,傷不起阿 所以我們必須考慮減少樹的層數來減少IO次數從而加快查詢 修改數據庫效率,b和b 樹都符合這樣的 ...

2020-03-27 02:14 0 2567 推薦指數:

查看詳情

B+對比

原文鏈接:https://blog.csdn.net/bytxl/article/details/40920165 hashmap為什么用二叉樹而不用B+? hashMap的元素是動態修改的,修改元素,不用移動元素的位置,因為直接修改左右父指針的值就好 ...

Sun Apr 11 03:21:00 CST 2021 0 223
B+B的理解

出處:https://www.jianshu.com/p/86a1fd2d7406 寫在前面,好像不同的教材對bb-的定義不一樣。我就不糾結這個到底是叫b-還是b-了。 如圖所示,區別有以下兩點: B+中只有葉子節點會帶有指向記錄的指針,而B ...

Sun Apr 07 04:05:00 CST 2019 0 5967
為什么Mysql用B+做索引而不用B-

B+做索引而不用B- 那么Mysql如何衡量查詢效率呢?– 磁盤IO次數。 一般來說索引非常大,尤其是關系性數據庫這種數據量大的索引能達到億級別,所以為了減少內存的占用,索引也會被存儲在磁盤上。 B-/B+的特點就是每層節點數目非常多,層數很少,目的就是為了減少磁盤IO ...

Sat Feb 06 20:28:00 CST 2021 0 1116
B B+

B-Tree(B) 具體講解之前,有一點,再次強調下:B-,即為B。因為B的原英文名稱為B-tree,而國內很多人喜歡把B-tree譯作B-,其實,這是個非常不好的直譯,很容易讓人產生誤解。如人們可能會以為B-是一種,而B又是一種。而事實上是,B-tree就是指的B。特此說明 ...

Sat Jan 19 06:23:00 CST 2019 0 1185
BB+以及

1、BB+ (1)BB+的區別   1)B+中只有葉子節點會帶有指向記錄的指針;而B則所有節點都帶有,在內部節點出現的索引項不會再出現在葉子節點中。   2)B+中所有葉子節點都是通過指針連接在一起,而B不會。 (2)BB+的優缺點   1)B優點:由於B ...

Wed Apr 15 04:51:00 CST 2020 0 1289
BB-B+B*

http://blog.csdn.net/quitepig/article/details/8041308 B 即二叉搜索: 1.所有非葉子結點至多擁有兩個兒子(Left和Right); 2.所有結點存儲一個關鍵字 ...

Tue Mar 24 21:53:00 CST 2015 1 10431
數據庫為什么使用B+而不是B

BB+的區別主要有兩點: 在B中,你可以將鍵和值存放在內部節點和葉子節點,但在B+中,內部節點都是鍵,沒有值。葉子節點同時存放鍵和值 B+的葉子節點有一條鏈相連,而B+的葉子節點各自獨立。 由於B+的內部節點只存放鍵,不存放值 ...

Fri Oct 12 19:39:00 CST 2018 0 1168
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM