分析和压缩索引组织表的空间(from TOM‘s book)

ops$tkyte@ORA10GR1> analyze index iot_pk validate structure;
dex analyzed.
ops$tkyte@ORA10GR1> select lf_blks, br_blks, used_space,
2 opt_cmpr_count, opt_cmpr_pctsave
3 from index_stats;
LF_BLKS BR_BLKS USED_SPACE OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
---------- ---------- -------------------- ---------------------------- --------------------------------
284 3 2037248 2 33

 

由 此显示出,我们的索引目前使用了284个叶子块(即数据所在的块),并使用了3个分支块(Oracle在索引结构中导航所用的块)来找到这些叶子块。使用 的空间大约是2MB(2,038,248字节)。另外两列名字有些奇怪,这两列是要告诉我们一些信息。OPT_CMPR_COUNT(最优压缩数)列要说 的是:“如果你把这个索引置为COMPRESS 2,就会得到最佳的压缩”。OPT_CMPR_PCTSAVE(最优的节省压缩百分比)则是说,如果执行COMPRESS 2,就能节省大约1/3的存储空间,索引只会使用现在2/3的磁盘空间。

 

ops$tkyte@ORA10GR1> alter table iot move compress 1;
ble altered.
ops$tkyte@ORA10GR1> analyze index iot_pk validate structure;
dex analyzed.
ops$tkyte@ORA10GR1> select lf_blks, br_blks, used_space,
2 opt_cmpr_count, opt_cmpr_pctsave
3 from index_stats;
LF_BLKS BR_BLKS USED_SPACE OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
---------- ---------- ---------- -------------- ----------------
247 1 1772767 2

可以看到,索引确实更小了:大约1.7MB,叶子块和分支块都更少。但是,现在它说“你还能再节省另外23%的空间”,因为我们没有充分地压缩。下面用COMPRESS 2再来重建IOT:

ops$tkyte@ORA10GR1> alter table iot move compress 2;
ble altered.
ops$tkyte@ORA10GR1> analyze index iot_pk validate structure;
dex analyzed.

ops$tkyte@ORA10GR1> select lf_blks, br_blks, used_space,
2 opt_cmpr_count, opt_cmpr_pctsave
3 from index_stats;
LF_BLKS BR_BLKS USED_SPACE OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
---------- ---------- ---------- -------------- ----------------
190 1 1359357 2 0

现在大小有了显著减少,不论是叶子块数还是总的使用空间都大幅下降,现在使用的空间大约是1.3MB

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

转载于:http://blog.itpub.net/7757439/viewspace-421348/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值