分析b-tree索引的好视图index_stats(http://space.itpub.net/?uid-780947-action-viewspace-itemid-368892)

转载 2008年09月30日 10:25:00
 "INDEX_STATS" stores information from the lastANALYZE INDEX ... VALIDATE STRUCTUREstatement.
上面语句意思是说index_stats存储最后一次对索引分析结构的信息.
  判断一个所以是否需要重建,我们介绍一个简单的方法:对一个索引进行结构分析后,如果该索引占用超过了一个数据块,且满足以下条件之一:B-tree树的高度大于3;使用百分比低于75%;数据删除率大于15%,就需要考虑对索引重建:
analyze index t_test1_idx1 validate structure;
 
Index analyzed.
 
SQL> select btree_space, -- if > 8192(块的大小)
  2         height, -- if > 3
  3         pct_used, -- if < 75
  4         del_lf_rows/(decode(lf_rows,0,1,lf_rows)) *100 as deleted_pct -- if > 20%
  5  from index_stats;
 
BTREE_SPACE     HEIGHT   PCT_USED DELETED_PCT
----------- ---------- ---------- -----------
     880032          2         89           0
 

如果超出了if 后面的值即可能需要进行  index rebuild.
注:index_stats只能在执行analyze的语句的session会话中看到数值,另外的会话是看不到的.即当前会话只能看到当前analyze分析后的结果.
--
可以用下面的过程分析所有的索引,将其写入一张普通表中
DECLARE
BEGIN
    EXECUTE IMMEDIATE 'truncate table stats_indexes';
    FOR REC IN (SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_OWNER = 'CITRIX') LOOP
        EXECUTE IMMEDIATE 'analyze index ' || REC.INDEX_NAME || ' validate structure';
        INSERT INTO STATS_INDEXES
            SELECT * FROM INDEX_STATS;
        COMMIT;
    END LOOP;
END;

参考:
  http://www.hellodba.com/Doc/oracle_IO(6).htm
  http://www.lslnet.com/linux/f/docs1/i49/big5338353.htm

B+/-Tree原理及mysql的索引分析

B+/-Tree原理及mysql的索引分析
  • angry_tiger
  • angry_tiger
  • 2016年04月13日 13:57
  • 1567

关于索引的B tree B-tree B+tree B*tree 详解结构图( 二)

【学习笔记】mysql索引原理之聚簇索引 索引分为聚簇索引和非聚簇索引。 以一本英文课本为例,要找第8课,直接翻书,若先翻到第5课,则往后翻,再翻到第10课,则又往前翻。这本书本身...
  • superhosts
  • superhosts
  • 2014年05月12日 17:47
  • 5493

B-Tree 索引和 Hash 索引的对比

对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎。B-Tree 索引的特...
  • defonds
  • defonds
  • 2015年07月06日 21:14
  • 10414

http://space.itpub.net/?uid-92530-action-viewspace-itemid-128009

今天看PUB上對錯誤的分析貼回來自己研究下 本人資質比較愚頓 一般来说是游标不够用了。 只需在initSID.ora文件中加上一行 open_cursors = **** 但是,很可...
  • fzc_crystal
  • fzc_crystal
  • 2013年03月08日 00:26
  • 367

(环境变量)http://www.51testing.com/?uid-227476-action-viewspace-itemid-99672

1、总结背景在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐...
  • wang_qiao_ying
  • wang_qiao_ying
  • 2011年07月13日 10:13
  • 283

栈、堆、静态存储(转自http://blog.itpub.net/16856446/viewspace-612834)

堆和栈的区别 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 ...
  • qq_34279028
  • qq_34279028
  • 2016年08月31日 19:36
  • 181

数据库链、物化视图、高级复制方面 转自http://yangtingkun.itpub.net/post/468/246820

转贴 yangtingkun的blog,其中关于物化视图方面介绍的比较详细可以逐一参考。 数据库链相关内容: JOB自动执行出错,但手工执行正常——浅谈job和database lin...
  • java_freshman01
  • java_freshman01
  • 2012年02月23日 15:56
  • 911

50个c/c++源代码网站(转自http://blog.chinaunix.net/space.php?uid=22830296&do=blog&id=1768388)

50个c/c++源代码网站(转自http://blog.chinaunix.net/space.php?uid=22830296&do=blog&id=1768388)       C/...
  • zhucunzhi
  • zhucunzhi
  • 2011年09月19日 15:43
  • 522

计算机中的原码、补码和反码 http://blog.chinaunix.net/space.php?uid=7451264&do=blog&cuid=302122

计算机中的原码、补码和反码 (2007-05-15 16:59) 分类: 计算理论 数在计算机中是以二进制形式表示的。  数分为有符号数和无符号数。  原码、反码、补码...
  • bill200711022
  • bill200711022
  • 2011年10月08日 21:49
  • 387

setuid函数的学习笔记 转自:http://blog.chinaunix.net/space.php?uid=1877180&do=blog&cuid=1132108

转自:http://blog.chinaunix.net/space.php?uid=1877180&do=blog&cuid=1132108 在linux中每个进程有三个[实际上有第4个]...
  • jubincn
  • jubincn
  • 2011年08月03日 23:58
  • 2054
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分析b-tree索引的好视图index_stats(http://space.itpub.net/?uid-780947-action-viewspace-itemid-368892)
举报原因:
原因补充:

(最多只允许输入30个字)