oracle中的B樹是b 樹還是b 樹啊還是B樹。看

2021-04-11 05:56:13 字數 2455 閱讀 6595

1樓:匿名使用者

b-樹是m叉查詢樹,而你上面提到的b樹的b代表binary,和b-樹(依然讀作b shu,不是b減樹)不是同一個東西。b樹是二叉查詢樹。

oracle裡面的應該是b-樹吧。。。我也不確定

b樹就是b-樹嗎? 20

2樓:匿名使用者

b樹就是b-樹,等價的,一般都說是b樹,b+樹是b樹的一種變形,b+樹和b樹他們之間有區別。

3樓:不舌不甘

通常表示b-樹b*-樹b+-樹中的「-」是英文中的連詞符號,沒有實在的意義。所以b樹就是b-樹

4樓:匿名使用者

b樹就是b-樹,這個是由於國內對英文書籍翻譯所產生的問題,b+樹是b樹的變形。絕對準確,我以前也糾結過這個問題

5樓:匿名使用者

b-樹是一種平衡的

多路查詢樹。

b+樹是應檔案系統所需而出的一種b-樹的變形樹。

一顆專m階的b+樹和m階b-樹的區別屬是:

1.有n棵子樹的節點中可能含有n個關鍵字

2.所有的葉子節點中包含了全部關鍵字的資訊,及指向含這些關鍵字記錄的指標,且葉子節點本身以關鍵字的大小自小而大順序連結.

3.所有的非終端節點可以看成是索引部分,節點中僅含有其子樹(根節點)中的最大(或最小)關鍵字.

b樹包括b+和b-兩種,b+是b-的一種變形,主要應用於檔案系統,b-是一種平衡的多路查詢樹。

因此,b樹是兩者的統稱。

b樹和二叉排序樹,b樹和b+樹的區別

6樓:

先從資料結構的角度來答。

題主應該知道b-樹和b+樹最重要的一個區別就是b+樹只有葉節點存放資料,其餘節點用來索引,而b-樹是每個索引節點都會有data域。

這就決定了b+樹更適合用來儲存外部資料,也就是所謂的磁碟資料。

從mysql(inoodb)的角度來看,b+樹是用來充當索引的,一般來說索引非常大,尤其是關係性資料庫這種資料量大的索引能達到億級別,所以為了減少記憶體的佔用,索引也會被儲存在磁碟上。

那麼mysql如何衡量查詢效率呢?磁碟io次數,b-樹(b類樹)的特定就是每層節點數目非常多,層數很少,目的就是為了就少磁碟io次數,當查詢資料的時候,最好的情況就是很快找到目標索引,然後讀取資料,使用b+樹就能很好的完成這個目的,但是b-樹的每個節點都有data域(指標),這無疑增大了節點大小,說白了增加了磁碟io次數(磁碟io一次讀出的資料量大小是固定的,單個資料變大,每次讀出的就少,io次數增多,一次io多耗時啊!),而b+樹除了葉子節點其它節點並不儲存資料,節點小,磁碟io次數就少。

這是優點之一。

另一個優點是什麼,b+樹所有的data域在葉子節點,一般來說都會進行一個優化,就是將所有的葉子節點用指標串起來。這樣遍歷葉子節點就能獲得全部資料,這樣就能進行區間訪問啦。

至於mongodb為什麼使用b-樹而不是b+樹,可以從它的設計角度來考慮,它並不是傳統的關係性資料庫,而是以json格式作為儲存的nosql,目的就是高效能,高可用,易擴充套件。首先它擺脫了關係模型,上面所述的優點2需求就沒那麼強烈了,其次mysql由於使用b+樹,資料都在葉節點上,每次查詢都需要訪問到葉節點,而mongodb使用b-樹,所有節點都有data域,只要找到指定索引就可以進行訪問,無疑單次查詢平均快於mysql(但側面來看mysql至少平均查詢耗時差不多)。

總體來說,mysql選用b+樹和mongodb選用b-樹還是以自己的需求來選擇的。

b樹和b加樹的區別,再理解oracle的b-tree index

7樓:風流小子愛美人

1.b樹中同一鍵值不抄會襲出現多次,並且它有可能出現在葉結點,也有可能出現在非葉結點中。而b+樹的鍵一定會出現在葉結點中,並且有可能在非葉結點中也有可能重複出現,以維持b+樹的平衡。

2.因為b樹鍵位置不定,且在整個樹結構中只出現一次,雖然可以節省儲存空間,但使得在插入、刪除操作複雜度明顯增加。b+樹相比來說是一種較好的折中。

3.b樹的查詢效率與鍵在樹中的位置有關,最大時間複雜度與b+樹相同(在葉結點的時候),最小時間複雜度為1(在根結點的時候)。而b+樹的時候複雜度對某建成的樹是固定的。

資料結構中b樹、b+樹的區別

8樓:匿名使用者

這兩種處理索引的資料結構的不同之處:

1。b樹中同一鍵值不會出現多次,並且它有可能出現在葉結點,也有可能出現在非葉結點中。而b+樹的鍵一定會出現在葉結點中,並且有可能在非葉結點中也有可能重複出現,以維持b+樹的平衡。

2。因為b樹鍵位置不定,且在整個樹結構中只出現一次,雖然可以節省儲存空間,但使得在插入、刪除操作複雜度明顯增加。b+樹相比來說是一種較好的折中。

3。b樹的查詢效率與鍵在樹中的位置有關,最大時間複雜度與b+樹相同(在葉結點的時候),最小時間複雜度為1(在根結點的時候)。而b+樹的時候複雜度對某建成的樹是固定的。

資料結構中什麼是b樹,資料結構中什麼是B樹?

b 樹是為了磁碟或其它儲存裝置而設計的一種多叉 下面你會看到,相對於二叉,b樹每個內結點有多個分支,即多叉 平衡查詢樹。b 樹又叫平衡多路查詢樹。一棵m階的b 樹 m叉樹 的特性如下 樹中每個結點最多含有m個孩子 m 2 除根結點和葉子結點外,其它每個結點至少有 ceil m 2 個孩子 其中cei...

什麼叫b樹的定義

b 樹是應檔案系統所需而出的一種b 樹的變型樹。一棵m階的b 樹和m階的b 樹的差異在於 1.有n棵子樹的結點中含有n個關鍵字,每個關鍵字不儲存資料,只用來索引,所有資料都儲存在葉子節點。2.所有的葉子結點中包含了全部關鍵字的資訊,及指向含這些關鍵字記錄的指標,且葉子結點本身依關鍵字的大小自小而大順...

m階b樹是什麼意思

一棵m階b樹 balanced tree of order m 是一棵平衡的m路搜尋樹。它或者是空樹,或者是滿足下列性質的樹 1 根結點至少有兩個子女 2 每個非根節點所包含的關鍵字個數 j 滿足 m 2 1 j m 1 3 除根結點以外的所有結點 不包括葉子結點 的度數正好是關鍵字總數加1,故內部...