index-PCT USED

SQL> create table indsplit as select object_id from dba_objects;

Table created

Executed in 0.75 seconds

SQL> create index ind_split on indsplit (object_id) pctfree 1;

Index created

Executed in 0.093 seconds

SQL> analyze index ind_split validate structure;

Index analyzed

Executed in 0.016 seconds

SQL> select * from index_stats;

    HEIGHT     BLOCKS NAME                           PARTITION_NAME                    LF_ROWS    LF_BLKS LF_ROWS_LEN LF_BLK_LEN    BR_ROWS    BR_BLKS BR_ROWS_LEN BR_BLK_LEN DEL_LF_ROWS DEL_LF_ROWS_LEN DISTINCT_KEYS MOST_REPEATED_KEY BTREE_SPACE USED_SPACE   PCT_USED ROWS_PER_KEY BLKS_GETS_PER_ACCESS   PRE_ROWS PRE_ROWS_LEN OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
---------- ---------- ------------------------------ ------------------------------ ---------- ---------- ----------- ---------- ---------- ---------- ----------- ---------- ----------- --------------- ------------- ----------------- ----------- ---------- ---------- ------------ -------------------- ---------- ------------ -------------- ----------------
         2         32 IND_SPLIT                                                          11433         22      173114       8000         21          1         234       8032           0               0         11433                 1      184032     173348         95            1                    3          0            0              0                0

Executed in 0.047 seconds
-- 22个叶节点,pct_use 95
SQL> SELECT object_id FROM user_objects WHERE object_name = 'IND_SPLIT';

OBJECT_ID
----------
     13675

Executed in 0.031 seconds

SQL > alter session set events 'immediate trace name treedump level 13675'
  2  /

----- begin tree dump
branch: 0x100028c 16777868 (0: nrow: 22, level: 1)
   leaf: 0x100028d 16777869 (-1: nrow: 534 rrow: 534)
   leaf: 0x100028e 16777870 (0: nrow: 528 rrow: 528)
   leaf: 0x100028f 16777871 (1: nrow: 528 rrow: 528)
   leaf: 0x1000290 16777872 (2: nrow: 528 rrow: 528)
   leaf: 0x1000291 16777873 (3: nrow: 528 rrow: 528)
   leaf: 0x1000292 16777874 (4: nrow: 528 rrow: 528)
   leaf: 0x1000293 16777875 (5: nrow: 528 rrow: 528)
   leaf: 0x1000294 16777876 (6: nrow: 528 rrow: 528)
   leaf: 0x1000295 16777877 (7: nrow: 528 rrow: 528)
   leaf: 0x1000296 16777878 (8: nrow: 528 rrow: 528)
   leaf: 0x1000297 16777879 (9: nrow: 528 rrow: 528)
   leaf: 0x1000298 16777880 (10: nrow: 528 rrow: 528)
   leaf: 0x100029a 16777882 (11: nrow: 528 rrow: 528)
   leaf: 0x100029b 16777883 (12: nrow: 528 rrow: 528)
   leaf: 0x100029c 16777884 (13: nrow: 528 rrow: 528)
   leaf: 0x100029d 16777885 (14: nrow: 528 rrow: 528)
   leaf: 0x100029e 16777886 (15: nrow: 528 rrow: 528)
   leaf: 0x100029f 16777887 (16: nrow: 528 rrow: 528)
   leaf: 0x10002a0 16777888 (17: nrow: 501 rrow: 501)
   leaf: 0x10002a1 16777889 (18: nrow: 495 rrow: 495)
   leaf: 0x10002a2 16777890 (19: nrow: 495 rrow: 495)
   leaf: 0x10002a3 16777891 (20: nrow: 432 rrow: 432)
----- end tree dump


--22个叶节点,每个大约500个key.

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0.016 seconds

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0.015 seconds

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0.016 seconds

SQL> insert into indsplit values (500);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0.016 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0 seconds

SQL> insert into indsplit values (1000);

1 row inserted

Executed in 0 seconds

SQL> commit;

Commit complete

Executed in 0 seconds

--在前两个节点上,插入一些值

SQL > alter session set events 'immediate trace name treedump level 13675'
  2  /

*** 2009-06-11 15:19:33.202
----- begin tree dump
branch: 0x100028c 16777868 (0: nrow: 24, level: 1)
   leaf: 0x100028d 16777869 (-1: nrow: 278 rrow: 278)
   leaf: 0x10002a7 16777895 (0: nrow: 264 rrow: 264)
   leaf: 0x100028e 16777870 (1: nrow: 272 rrow: 272)
   leaf: 0x10002a8 16777896 (2: nrow: 264 rrow: 264)
   leaf: 0x100028f 16777871 (3: nrow: 528 rrow: 528)
   leaf: 0x1000290 16777872 (4: nrow: 528 rrow: 528)
   leaf: 0x1000291 16777873 (5: nrow: 528 rrow: 528)
   leaf: 0x1000292 16777874 (6: nrow: 528 rrow: 528)
   leaf: 0x1000293 16777875 (7: nrow: 528 rrow: 528)
   leaf: 0x1000294 16777876 (8: nrow: 528 rrow: 528)
   leaf: 0x1000295 16777877 (9: nrow: 528 rrow: 528)
   leaf: 0x1000296 16777878 (10: nrow: 528 rrow: 528)
   leaf: 0x1000297 16777879 (11: nrow: 528 rrow: 528)
   leaf: 0x1000298 16777880 (12: nrow: 528 rrow: 528)
   leaf: 0x100029a 16777882 (13: nrow: 528 rrow: 528)
   leaf: 0x100029b 16777883 (14: nrow: 528 rrow: 528)
   leaf: 0x100029c 16777884 (15: nrow: 528 rrow: 528)
   leaf: 0x100029d 16777885 (16: nrow: 528 rrow: 528)
   leaf: 0x100029e 16777886 (17: nrow: 528 rrow: 528)
   leaf: 0x100029f 16777887 (18: nrow: 528 rrow: 528)
   leaf: 0x10002a0 16777888 (19: nrow: 501 rrow: 501)
   leaf: 0x10002a1 16777889 (20: nrow: 495 rrow: 495)
   leaf: 0x10002a2 16777890 (21: nrow: 495 rrow: 495)
   leaf: 0x10002a3 16777891 (22: nrow: 432 rrow: 432)
----- end tree dump


--前两个节点,55分裂了,多用了2个块,每个块都只是用了50%
SQL> analyze index ind_split validate structure;

Index analyzed

Executed in 0.016 seconds

SQL> select * from index_stats;

    HEIGHT     BLOCKS NAME                           PARTITION_NAME                    LF_ROWS    LF_BLKS LF_ROWS_LEN LF_BLK_LEN    BR_ROWS    BR_BLKS BR_ROWS_LEN BR_BLK_LEN DEL_LF_ROWS DEL_LF_ROWS_LEN DISTINCT_KEYS MOST_REPEATED_KEY BTREE_SPACE USED_SPACE   PCT_USED ROWS_PER_KEY BLKS_GETS_PER_ACCESS   PRE_ROWS PRE_ROWS_LEN OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
---------- ---------- ------------------------------ ------------------------------ ---------- ---------- ----------- ---------- ---------- ---------- ----------- ---------- ----------- --------------- ------------- ----------------- ----------- ---------- ---------- ------------ -------------------- ---------- ------------ -------------- ----------------
         2         32 IND_SPLIT                                                          11449         24      173338       8000         23          1         256       8032           0               0         11433                 9      200032     173594         87 1.0013994577     3.00069972885507          0            0              0                0

Executed in 0.047 seconds

--索引自动平衡后变成24个节点,pct_used也降低了。

假如我们随机的向每个叶节点插入一个值,导致每个节点都分裂,那么就会是节点增多一倍,然后我们以后,都是有序插入,那么有可能许多节点都是50%的使用量,这个时候,如果rebuild,就会合并节点,减少节点数。提高pct_used.

SQL> alter index ind_split rebuild;

Index altered

Executed in 0.219 seconds

SQL> analyze index ind_split validate structure;

Index analyzed

Executed in 0.016 seconds

SQL> select * from index_stats;


    HEIGHT     BLOCKS NAME                           PARTITION_NAME                    LF_ROWS    LF_BLKS LF_ROWS_LEN LF_BLK_LEN    BR_ROWS    BR_BLKS BR_ROWS_LEN BR_BLK_LEN DEL_LF_ROWS DEL_LF_ROWS_LEN DISTINCT_KEYS MOST_REPEATED_KEY BTREE_SPACE USED_SPACE   PCT_USED ROWS_PER_KEY BLKS_GETS_PER_ACCESS   PRE_ROWS PRE_ROWS_LEN OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
---------- ---------- ------------------------------ ------------------------------ ---------- ---------- ----------- ---------- ---------- ---------- ----------- ---------- ----------- --------------- ------------- ----------------- ----------- ---------- ---------- ------------ -------------------- ---------- ------------ -------------- ----------------
         2         32 IND_SPLIT                                                          11449         22      173338       8000         21          1         234       8032           0               0         11433                 9      184032     173572         95 1.0013994577     3.00069972885507          0            0              0                0

Executed in 0.047 seconds


*** 2009-06-11 15:38:29.525
----- begin tree dump
branch: 0x10002ac 16777900 (0: nrow: 22, level: 1)
   leaf: 0x10002ad 16777901 (-1: nrow: 535 rrow: 535)
   leaf: 0x10002ae 16777902 (0: nrow: 528 rrow: 528)
   leaf: 0x10002af 16777903 (1: nrow: 528 rrow: 528)
   leaf: 0x10002b0 16777904 (2: nrow: 528 rrow: 528)
   leaf: 0x10002b1 16777905 (3: nrow: 528 rrow: 528)
   leaf: 0x10002b2 16777906 (4: nrow: 528 rrow: 528)
   leaf: 0x10002b3 16777907 (5: nrow: 528 rrow: 528)
   leaf: 0x10002b4 16777908 (6: nrow: 528 rrow: 528)
   leaf: 0x10002b5 16777909 (7: nrow: 528 rrow: 528)
   leaf: 0x10002b6 16777910 (8: nrow: 528 rrow: 528)
   leaf: 0x10002b7 16777911 (9: nrow: 528 rrow: 528)
   leaf: 0x10002b8 16777912 (10: nrow: 528 rrow: 528)
   leaf: 0x10002ba 16777914 (11: nrow: 528 rrow: 528)
   leaf: 0x10002bb 16777915 (12: nrow: 528 rrow: 528)
   leaf: 0x10002bc 16777916 (13: nrow: 528 rrow: 528)
   leaf: 0x10002bd 16777917 (14: nrow: 528 rrow: 528)
   leaf: 0x10002be 16777918 (15: nrow: 528 rrow: 528)
   leaf: 0x10002bf 16777919 (16: nrow: 528 rrow: 528)
   leaf: 0x10002c0 16777920 (17: nrow: 501 rrow: 501)
   leaf: 0x10002c1 16777921 (18: nrow: 495 rrow: 495)
   leaf: 0x10002c2 16777922 (19: nrow: 495 rrow: 495)
   leaf: 0x10002c3 16777923 (20: nrow: 447 rrow: 447)
----- end tree dump

--------------------------------------------------------------------------------------------------

analyze index xxxx validate structure;


select height,lf_rows,del_lf_rows,btree_space,used_space,pct_used,del_lf_rows/lf_rows radio from index_stats;


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

转载于:http://blog.itpub.net/13165828/viewspace-605928/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值