带您了解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来查看索引的物理结构以增加对索引的理解。

 

 

【编辑推荐】

带您深入了解DB2物化查询表

DB2分区数据库的前滚操作

DB2分区数据库备份的实现方法

DB2 logfilsiz参数设置

在线改变DB2页大小的实现

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-04 14:12:24

DB2快照监控

2010-11-02 11:56:36

DB2物化视图

2010-09-30 10:53:39

DB2表管理

2010-11-02 16:39:32

DB2锁的类型

2010-09-30 14:57:54

DB2数据仓库

2010-11-03 10:12:49

DB2异常处理器

2010-11-02 11:02:48

DB2物化查询表

2010-08-26 16:06:38

DB2编目

2010-08-26 09:33:18

DB2数据库

2010-11-01 14:19:20

DB2字符串

2010-09-30 15:11:47

DB2数据仓库

2010-10-12 13:14:11

mysql索引类型

2010-10-25 09:39:43

Oracle FBI索

2010-11-15 13:20:06

Oracle恢复结构

2010-10-29 15:37:51

Oracle物理结构

2010-11-02 11:36:10

DB2索引创建

2010-09-07 17:36:37

DB2索引设计准则

2010-11-02 11:22:06

DB2索引类型

2010-11-02 09:56:14

DB2目录结构

2010-11-03 16:50:23

DB2目录结构
点赞
收藏

51CTO技术栈公众号