管理索引: 合并和重建索引+合并索引+合并索引前后变化示意图+重建索引+监视索引+查看索引的状态+删除索引

来源:互联网 发布:stc单片机是st的架构吗 编辑:程序博客网 时间:2024/05/15 23:51

合并和重建索引
1随着对表的不断更新,在表的索引中将会产生越来越多的存储碎片,这些碎片会影响索引的使用效率。合并索引和重建索引是2种清除索引存储碎片的方式。

合并索引
是指将B树叶子节点的存储碎片合并在一起,这种合并不会改变索引的物理组织结构

语法
alter index index_name coalesce deallocate unused;

举例
alter index sname_index coalesce deallocate unused;
这里写图片描述

合并索引前后变化示意图
这里写图片描述

左边前2个叶子节点都有50%存储是碎片,,合并后变为右边第一叶子节点,存储空间变为1个存储单位.

重建索引
1重建索引可以消除存储碎片
2可以改变索引的全部存储参数设置
3可以改变索引的存储表空间
4本质是在指定的表空间重新建立一个新的索引,然后在删除原来的索引。

语法
alter index index_name rebuild tablespace tablespace_name;
案例
重建索引并修改表空间
alter index sname_index rebuild
tablespace MYSPACE;
这里写图片描述

监视索引
1监视索引用来确定索引能不能正常工作

打开索引监视状态
语法
alter index index_name monitoring usage

举例
alter index sname_index monitoring usage;
这里写图片描述
关闭索引监视状态
语法
alter index index_name nomonitoring usage

举例
alter index sname_index nomonitoring usage;
这里写图片描述

查看索引的状态(监视状态开启)
column table_name format a15;
column INDEX_NAME format a15;
select * from v$object_usage;
这里写图片描述

mon:是否开启索引监视
use:在监视过程中,索引被使用的情况
删除索引
1用户可以删除自己模式中的索引
2用户删除其他模式中的索引需要drop any index系统权限
3索引被删除后,它所占的盘区会全部返回给它所在的表空间,并且可以被表空间的其他对象使用。

语法(删除create index创建的索引)
drop index index_name;
举例

drop index sname_index;
这里写图片描述

删除索引的情况
1该索引不需要使用
2索引很少使用
3索引有很多的存储碎片,需要重建该索引.

原创粉丝点击