签到成功

知道了

CNDBA社区CNDBA社区

Oracle解决索引碎片功能

2022-04-29 13:56 1160 0 原创 oracle
作者: hbhe0316
SQL> INSERT INTO T1 SELECT * FROM T11;

30100005 rows created.

SQL> analyze index T1_INDEX validate structure;

Index analyzed.

SQL> select name,HEIGHT,PCT_USED,DEL_LF_ROWS/LF_ROWS from index_stats;

NAME
--------------------------------------------------
    HEIGHT   PCT_USED DEL_LF_ROWS/LF_ROWS
---------- ---------- -------------------
T1_INDEX
         3        100                   0

这里主要通过几个标准来判断是否需要整理碎片:

http://www.cndba.cn/hbhe0316/article/107960
http://www.cndba.cn/hbhe0316/article/107960
http://www.cndba.cn/hbhe0316/article/107960
http://www.cndba.cn/hbhe0316/article/107960
http://www.cndba.cn/hbhe0316/article/107960
http://www.cndba.cn/hbhe0316/article/107960
http://www.cndba.cn/hbhe0316/article/107960

1.HEIGHT>=4
2.PCT_USED<50% 3.DEL_ROWS/LF_ROWS>0.2
如果查询到的值符合以上三种情况的任意一种,就说明我们需要进行碎片整理工作了

http://www.cndba.cn/hbhe0316/article/107960
http://www.cndba.cn/hbhe0316/article/107960http://www.cndba.cn/hbhe0316/article/107960

SQL> delete from T1;

30100005 rows deleted.

SQL> select name,HEIGHT,PCT_USED,DEL_LF_ROWS/LF_ROWS from index_stats;

NAME
--------------------------------------------------
    HEIGHT   PCT_USED DEL_LF_ROWS/LF_ROWS
---------- ---------- -------------------
T1_INDEX
         3        100                   0


SQL> alter index T1_INDEX rebuild online;

Index altered.

SQL> select name,HEIGHT,PCT_USED,DEL_LF_ROWS/LF_ROWS from index_stats;

no rows selected

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1154686次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ