帶您了解DB2索引結構
作者:佚名
DB2中索引的數據結構是一顆B+樹,通常B樹有三層:根、中間層和葉,但也可以是任意多層。下面就帶您一起了解一下DB2索引結構。
DB2索引結構是怎樣的呢?這是很多人都提到過的問題,下面就為您詳細介紹DB2索引結構,希望可以讓您對DB2索引結構有更深的認識。
DB2索引結構
在DB2中,索引的數據結構是一顆B+樹。B樹把它的存儲塊組織成一棵樹。這棵樹是平衡的,即從樹根到樹葉的所有路徑都一樣長。通常B樹有三層:根、中間層和葉,但也可以是任意多層。
典型的B+樹結構:
根結點中至少有兩個指針被使用。所有指針指向位于B樹下一層的存儲塊;
葉結點中,最后一個指針指向它右邊的下一個葉結點存儲塊,即指向下一個鍵值大于它的塊。在葉塊的其他n個指針當中,至少有個指針被使用且指向數據記錄;未使用的指針可看作空指針且不指向任何地方。如果第i個指數被使用,則指向具有第i個鍵值的記錄;
在內層結點中,所有的n+ 1個指針都可以用來指向B樹中下一層的塊。其中至少
個指針被實際使用(但如果是根結點,則不管n多大都只要求至少兩個指針被使用)。如果j個指針被使用,那該塊中將有j-1個鍵,設為K1,K2⋯⋯,Kj - 1。第一個指針指向B樹的一部分,一些鍵值小于K1的記錄可在這一部分找到。第二個指針指向B樹的另一部分,所有鍵值大小等于K1且小于K2的記錄可在這一部分中。依此類推。最后,第j個指針指向B樹的又一部分,一些鍵值大于等于Kj - 1的記錄可以在這一部分中找到。注意:某些鍵值遠小于K1或遠大于Kj - 1的記錄可能根本無法通過該塊到達,但可通過同一層的其他塊到達。
假若我們以常規的畫樹方式來畫B樹,任一給定結點的子結點按從左(第一個子結點)到右(最后一個子結點)的順序排列。那么,我們在任何一個層次上從左到右來看B樹的結點,結點的鍵值將按非減的順序出現。

DB2中索引結構
標準表的表和索引管理

記錄表示和數據頁

在DB2中可使用命令db2dart <dbname> /di /tsi <tabspacesid> /oi <tableid> /ps <N>p /np 1 /v y來查看索引的物理結構以增加對索引的理解。
【編輯推薦】
責任編輯:段燃
來源:
互聯網