国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > B+樹查詢的穩(wěn)定性為什么重要?

B+樹查詢的穩(wěn)定性為什么重要?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-11 09:55:33 1696989333

一、B+樹查詢的穩(wěn)定性為什么重要

首先最大的優(yōu)勢還是磁盤IO和范圍,從我個人的看法看,穩(wěn)定性(每次查詢必須從根走到葉子節(jié)點)這意味行為可預估,這在引擎內(nèi)部建立執(zhí)行計劃時會方便控制變量。

為了實現(xiàn)動態(tài)多層索引,通常采用 B-樹 和 B+樹。但是,用于索引的 B-樹 存在缺陷,它的所有中間結點均存儲的是數(shù)據(jù)指針(指向包含鍵值的磁盤文件塊的指針),與該鍵值一起存儲在B-樹的結點中。這就會導致可以存儲在 B-樹中的結點目數(shù)極大地減少了,從而增加 B-樹的層數(shù),進而增加了記錄的搜索時間。

B+樹通過僅在樹的葉子結點中存儲數(shù)據(jù)指針而消除了上述缺陷。因此,B+樹的葉結點的結構與 B-樹的內(nèi)部結點的結構完全不同。在這里應該注意,由于數(shù)據(jù)指針僅存在于葉子結點中,因此葉子結點必須將所有鍵值及其對應的數(shù)據(jù)指針存儲到磁盤文件塊以便訪問。此外,葉子結點被鏈接磁盤的某個位置,以提供對記錄的有序訪問。因此,葉子結點形成名列前茅級索引,而內(nèi)部結點形成多層索引的其他層。葉子結點的某些關鍵字 key 也出現(xiàn)在內(nèi)部結點中,充當控制搜索記錄的媒介。

與 B-樹不同,B+樹中的結點存在兩個階(order):對于階 “a” 和 “ b”,一個用于內(nèi)部結點,另一個用于外部(或葉)結點。

延伸閱讀:

二、B+樹的優(yōu)點

同為h層的 B-樹和 B+樹,B+樹可以存儲更多的結點元素,更加 ”矮胖“。這也是 B+樹最大的優(yōu)勢坐在,極大地改善了 B-樹的查找效率。對于同樣多的記錄,B+樹的高度會更矮,并且指針的出現(xiàn)可以幫助 B+樹快速訪問磁盤記錄且效率非常高。總之,就是 B+樹比 B-樹更加好,B+樹的磁盤 I / O 會更少,相比于 B-樹的中序遍歷,B+樹只需要像遍歷單鏈表一樣掃描一遍葉子結點。

聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
10年以上業(yè)內(nèi)強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT