数据库

 首页 > 数据库 > MySql > 分析oracle索引空间使用情况,以及索引是否需要重建

分析oracle索引空间使用情况,以及索引是否需要重建

分享到:
【字体:
导读:
         摘要:分析索引空间使用情况,以及索引是否需要重建分析其他用户下的索引需要 analyze any的权限分析索引前先查看表的大小和索引的大小,如果索引大小和表大小一样大或者大于表的大小,那么可以判断索引可能有问题,需要分析索引查询对象大小:select owner,segment_name,segment_type,bytes...

分析oracle索引空间使用情况,以及索引是否需要重建
分析索引空间使用情况,以及索引是否需要重建

分析其他用户下的索引需要 analyze any的权限
分析索引前先查看表的大小和索引的大小,如果索引大小和表大小一样大或者大于表的大小,那么可以判断索引可能有问题,需要分析索引
查询对象大小:
select owner,segment_name,segment_type,bytes/1024/1024 from dba_segments order by 4 desc 

1.分析索引
SQL> analyze index AA.INDEX_AA validate structure;  
SQL> 
Index analyzed
 
查询空间使用情况:

SQL> select name, blocks, lf_blks,  br_blks, blocks-(lf_blks+br_blks) empty from index_stats;
 
NAME                               BLOCKS    LF_BLKS    BR_BLKS      EMPTY
------------------------------ ---------- ---------- ---------- ----------
AA                                262144      253480        725       7939
--索引空块达到了7939
 
2.查询索引删除行和删除比例(一般删除率达到30%就要考虑重建索引)
SQL> select t.name, --索引名
  2          t.lf_rows, --number of leaf rows (values in the index)
  3          t.lf_blks,
  4          t.del_lf_rows, --number of deleted leaf rows in the index
  5          (t.del_lf_rows / t.lf_rows)*100 ratio --删除比例
  6     from index_stats t
  7     where t.name='INDEX_AA';
 
NAME                              LF_ROWS    LF_BLKS DEL_LF_ROWS      RATIO
------------------------------ ---------- ---------- ----------- ----------
AA                              77318533     253480           0          0
 
3.查看索引的使用率以及索引深度(深度>=4时就考虑重建索引)
SQL> SELECT height, NAME, BTREE_SPACE, USED_SPACE, PCT_USED FROM INDEX_STATS;
 
    HEIGHT NAME                           BTREE_SPACE USED_SPACE   PCT_USED
---------- ------------------------------ ----------- ---------- ----------
         4 INDEX_AA                       2032646380 1231201944         61
--索引深度为4
满足下列条件考虑重建索引
The most common justifications given for rebuilding an index are:
- index becomes fragmented
- index grows and grows - deleted space is not re-used
- index clustering factor becomes out of sync 分析oracle索引空间使用情况,以及索引是否需要重建
分享到:
使用FREDATED引擎实现跨实例访问
使用FREDATED引擎实现跨实例访问    跨数据库服务器,跨实例访问是比较常见的一种访问方式,在Oracle中可以通过DB LINK的方式来实现。对于MySQL而言,有一个FEDERATED存储引擎与之相对应。同样也是通过创建一个链接方式的形式来访问远程服务器上的数据。本文简要描述了FEDERATED存储引擎,以及演示了基于FEDERATED存储引...
此服务器支持661版及更低版本。不支持降...
此服务器支持661版及更低版本。不支持降级路径。此服务器支持661版及更低版本。不支持降级路径。 环境: SQL Server 2008 R2. 问题: 附加数据库报错“此服务器支持661版及更低版本。不支持降级路径。” 解决方案:         出现这样的问题,一般是因为数据库版本不同造成的。         查询数据库版本语法: us...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……