ORACLE B樹索引概念的理解

2021-06-20 10:27:46 字數 664 閱讀 5878

b樹索引的概念:

b樹索引是乙個典型的樹結構,不僅oracle,很多實際應用都用到,在oracle裡面分三個索引塊

1 - 葉子節點塊(leaf block):直接指向表裡的資料行。

2 - 分支節點塊(branch block):指向分支節點或者是葉子節點。

3 - 根節點塊(root node):也屬於分支節點,只是最頂端的分支節點。

上面三個專業名詞都很形象的表現了b樹索引的特點,如下圖

由樹轉成模型:

如上圖這棵樹共40根葉毛,我要找第27根葉毛,如果沒有索引,就得直接從第一根葉毛開始找,有了b樹索引,就可以很簡單的找出來,以下是利用b樹索引查詢方法

1.先從樹根判斷,27在21後面,找到21對應的樹枝位址是樹枝2,

2.進入樹枝2,再對比27還是在21後面,找到21對應的樹葉位址是樹枝3,

3.進入樹葉3,對比27在26後面,找到26對應的葉毛位址,那麼27就很快被找出來了。

索引其實更像一本書的目錄大綱,大綱的標題就是節點塊,頁數就是節點塊的位址。

你是否了解Oracle B樹索引

在向大家詳細介紹oracle b樹索引之前,首先讓大家了解下非唯一索引中,然後全面介紹oracle b樹索引。oracle b樹索引中不存在非唯一的條目。在非唯一索引中,oracle會把rowid作為乙個額外的列追加到鍵上,使得鍵唯一。exp create index i on t x y 從概念上...

b樹概念的理解

b 樹又叫平衡多路查詢樹,俗稱b 樹,或者b樹。樹中每個結點最多含有m個孩子 m 2 因為每個節點最多有m 1個關鍵字而已 2.除根結點和葉子結點外,其它每個結點至少有 ceil m 2 個孩子 其中ceil x 是乙個取上限的函式 因為每個節點最少有cell m 2 1個關鍵字而已 3.若根結點不...

資料庫索引的概念理解

為什麼需要建立索引?索引是為了用於快速找出在某個列中有某一特定值的行 說明 其實就是快速定位找到符合sql語句篩選條件列的值 反問 不使用索引可不可以呢?答案 當然可以的,只不過到表總的資料量非常大的時候,查詢就非常耗時了。反問 不建立索引耗時的原因是什麼呢?答案 不使用索引,資料庫查詢表中的資料時...