oracle怎样查询索引的使用情况

查询用户的索引
select index_name,table_name,tablespace_name,
index_type,uniqueness , status
from dba_indexes where owner='SCOTT';
查询用户的索引列
select index_name,table_name,column_name,
index_owner,table_owner
from dba_ind_columns
where table_owner='SCOTT';
查看索引的各种初始化因子
select index_name,table_name,tablespace_name,
pct_free,pct_increase,initial_extent,
next_extent, status
from dba_indexes where owner='SCOTT';

重建和维护索引

alter index scott.emp_ename_idx rebuild
pctfree 40
storage (next 300k);

查看索引segment
select segment_name,segment_type,tablespace_name,extents
from dba_segments
where owner='SCOTT'
and segment_type='INDEX';

给索引添加相应的extent
alter index scott.emp_ename_idx allocate extent;

回收索引端
alter index scott.emp_ename_idx deallocate unused;
合并索引碎片
alter index scott.emp_ename_idx coalesce;

联机重建索引:
alter index scott.emp_ename_idx rebuild online;

标识索引的使用情况
1.启用索引监控
alter index emp_ename_idx monitoring usage;
2.执行相关查询
select ename,job ,sal from scott.emp
where ename like 'C%';
3.查看索引是否使用
select * from v$object_usage;
4.禁用索引监控
alter index emp_ename_idx nomonitoring usage;

posted @ 2015-04-17 14:00  Look_Sun  阅读(4503)  评论(0编辑  收藏  举报