关于Treedump

昨天晚上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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/193161/viewspace-50241/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值