ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于Treedump

关于Treedump

原创 Linux操作系统 作者:NinGoo 时间:2019-07-16 21:39:02 0 删除 编辑

昨天晚上google的时候偶然发现的一个文档上,提到了一个叫treedump的event,能够dump出B*Tree Index的树型结构,挺有意思的。文档下载:http://www.itpub.net/676601.html


做个小小试验,测试一下:

SQL> create table t as select object_id,object_type from all_objects;

表已创建。

SQL> create index ix_t_id on t(object_id);

索引已创建。

SQL> create bitmap index ix_t_type on t(object_type);

索引已创建。


SQL> select object_id from all_objects where object_name='IX_T_ID' and owner=user;

OBJECT_ID
----------
10607

SQL> select object_id from all_objects where object_name='IX_T_TYPE' and owner=user;

OBJECT_ID
----------
10608

SQL> alter session set events 'immediate trace name treedump level 10607';

会话已更改。

SQL> alter session set events 'immediate trace name treedump level 10608';

会话已更改。

----- begin tree dump
branch: 0x407302 4223746 (0: nrow: 21, level: 1)
leaf: 0x407303 4223747 (-1: nrow: 485 rrow: 485)
leaf: 0x407304 4223748 (0: nrow: 479 rrow: 479)
leaf: 0x407305 4223749 (1: nrow: 479 rrow: 479)
leaf: 0x407306 4223750 (2: nrow: 479 rrow: 479)
leaf: 0x407307 4223751 (3: nrow: 479 rrow: 479)
leaf: 0x407308 4223752 (4: nrow: 479 rrow: 479)
leaf: 0x407309 4223753 (5: nrow: 479 rrow: 479)
leaf: 0x40730a 4223754 (6: nrow: 479 rrow: 479)
leaf: 0x40730b 4223755 (7: nrow: 479 rrow: 479)
leaf: 0x40730c 4223756 (8: nrow: 479 rrow: 479)
leaf: 0x40730d 4223757 (9: nrow: 479 rrow: 479)
leaf: 0x40730e 4223758 (10: nrow: 479 rrow: 479)
leaf: 0x40730f 4223759 (11: nrow: 479 rrow: 479)
leaf: 0x407310 4223760 (12: nrow: 479 rrow: 479)
leaf: 0x407311 4223761 (13: nrow: 479 rrow: 479)
leaf: 0x407312 4223762 (14: nrow: 479 rrow: 479)
leaf: 0x407313 4223763 (15: nrow: 479 rrow: 479)
leaf: 0x407314 4223764 (16: nrow: 479 rrow: 479)
leaf: 0x407315 4223765 (17: nrow: 479 rrow: 479)
leaf: 0x407316 4223766 (18: nrow: 479 rrow: 479)
leaf: 0x407317 4223767 (19: nrow: 220 rrow: 220)
----- end tree dump
----- begin tree dump
leaf: 0x40731a 4223770 (0: nrow: 34 rrow: 34)
----- end tree dump

可见,对于bitmap index,treedump没有作用。

对于B*Tree Index的dump文件,稍微解释一下:

branch/leaf代表该行是分支节点还是页节点(第一行的branch其实是root节点)。随后是该节点的rdba,前面是16进制的,后面是10进制的。括号里的第一个数字是同一个level的节点位置计数,root节点从0开始,其他的level从-1开始。nrow:节点中曾经有过的index entry数,rrow:节点中当前的index entry数,从这两个值可以分析出index的空间使用效率。对于branch节点,后面还有个level,叶节点隐含level为0,向上计数直到root。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/193161/viewspace-50241/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 创建logical standby
请登录后发表评论 登录
全部评论

注册时间:2004-12-07

  • 博文量
    200
  • 访问量
    170686