真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

B+Tree如何理解

今天就跟大家聊聊有關(guān)B+Tree如何理解,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)專注于榕城網(wǎng)站建設(shè)服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供榕城營銷型網(wǎng)站建設(shè),榕城網(wǎng)站制作、榕城網(wǎng)頁設(shè)計、榕城網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務,打造榕城網(wǎng)絡公司原創(chuàng)品牌,更為您提供榕城網(wǎng)站排名全網(wǎng)營銷落地服務。

B+Tree的定義

B+Tree是B樹的變種,有著比B樹更高的查詢性能,來看下m階B+Tree特征:

  1. 有m個子樹的節(jié)點包含有m個元素(B-Tree中是m-1)

  2. 根節(jié)點和分支節(jié)點中不保存數(shù)據(jù),只用于索引,所有數(shù)據(jù)都保存在葉子節(jié)點中。

  3. 所有分支節(jié)點和根節(jié)點都同時存在于子節(jié)點中,在子節(jié)點元素中是最大或者最小的元素。

  4. 葉子節(jié)點會包含所有的關(guān)鍵字,以及指向數(shù)據(jù)記錄的指針,并且葉子節(jié)點本身是根據(jù)關(guān)鍵字的大小從小到大順序鏈接。

B+Tree如何理解  

更直觀的圖

B+Tree如何理解  

1、紅點表示是指向衛(wèi)星數(shù)據(jù)的指針,指針指向的是存放實際數(shù)據(jù)的磁盤頁,衛(wèi)星數(shù)據(jù)就是數(shù)據(jù)庫中一條數(shù)據(jù)記錄。

2、葉子節(jié)點中還有一個指向下一個葉子節(jié)點的next指針,所以葉子節(jié)點形成了一個有序的鏈表,方便遍歷B+樹。

B+樹的優(yōu)勢1、更加高效的單元素查找

B+樹的查找元素3的過程:

第一次磁盤IO

B+Tree如何理解  

第二次磁盤IO

B+Tree如何理解  

第三次磁盤IO

B+Tree如何理解  

這個過程看下來,貌似與B樹的查詢過程沒有什么區(qū)別。但實際上有兩點不一樣:

a、首先B+樹的中間節(jié)點不存儲衛(wèi)星數(shù)據(jù),所以同樣大小的磁盤頁可以容納更多的節(jié)點元素,如此一來,相同數(shù)量的數(shù)據(jù)下,B+樹就相對來說要更加矮胖些,磁盤IO的次數(shù)更少。

b、由于只有葉子節(jié)點才保存衛(wèi)星數(shù)據(jù),B+樹每次查詢都要到葉子節(jié)點;而B樹每次查詢則不一樣,最好的情況是根節(jié)點,最壞的情況是葉子節(jié)點,沒有B+樹穩(wěn)定。

2、葉子節(jié)點形成有順鏈表,范圍查找性能更優(yōu)

B樹范圍查找3-8的過程

a、先查找3

B+Tree如何理解  

b、再查找4、5、6、7、8,中間過程省略,直接到8的查找

B+Tree如何理解  

這里查找的范圍跨度越大,則磁盤IO的次數(shù)越多,性能越差。

B+樹范圍查找3-11的過程

B+Tree如何理解  

先從上到下找到下限元素3,然后通過鏈表指針,依次遍歷得到元素5/6/8/9/11;如此一來,就不用像B樹那樣一個個元素進行查找。

總結(jié)

  1. 單節(jié)點可以存儲更多的元素,使得查詢磁盤IO次數(shù)更少。

  2. 所有查詢都要查找到葉子節(jié)點,查詢性能穩(wěn)定。

  3. 所有葉子節(jié)點形成有序鏈表,便于范圍查詢。

PS:在數(shù)據(jù)庫的聚集索引(Clustered Index)中,葉子節(jié)點直接包含衛(wèi)星數(shù)據(jù)。在非聚集索引(NonClustered Index)中,葉子節(jié)點帶有指向衛(wèi)星數(shù)據(jù)的指針。

看完上述內(nèi)容,你們對B+Tree如何理解有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


分享名稱:B+Tree如何理解
網(wǎng)頁URL:http://weahome.cn/article/godjgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部