日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

什么是B+Tree

發(fā)布時(shí)間:2025/5/22 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是B+Tree 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

B+Tree的定義

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

1、有m個(gè)子樹的節(jié)點(diǎn)包含有m個(gè)元素(B-Tree中是m-1)

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

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

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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

更直觀的圖

? ? ? ? ? ? ? ? ? ? ? ? ? ??

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

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

B+樹的優(yōu)勢(shì)

1、更加高效的單元素查找

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

第一次磁盤IO

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

第二次磁盤IO

       ? ? ? ??

第三次磁盤IO

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

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

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

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

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

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

a、先查找3

? ? ? ? ? ? ? ? ? ? ? ? ? ?

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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

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

?

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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

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

?總結(jié)

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

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

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

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

轉(zhuǎn)載于:https://www.cnblogs.com/pypua/articles/9051219.html

總結(jié)

以上是生活随笔為你收集整理的什么是B+Tree的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。