analyze table 表名 compute statistics / |
select distinct_keys from user_indexes where table_name=''表名'' and index_name=''索引名'' / |
select num_rows from user_tables where table_name=''表名'' / |
select i.distinct_keys/t.num_rows from user_indexes i, user_tables t where i.table_name=''表名'' and i.index_name=''索引名'' and i.table_name=t.table_name / |
select column_name, num_distinct from user_tab_columns where table_name=''表名'' / |
validate index 用户名.索引名 / |
select name, del_lf_rows, lf_rows, round((del_lf_rows/(lf_rows+0.0000000001))*100) "Frag Percent" from index_stats / |
alter index 用户名.索引名 rebuild tablespace 表空间名 storage(initial 初始值 next 扩展值) nologging / |
alter index用户名.索引名 coalesce / |
analyze index 用户名.索引名 delete statistics / |
五. 重建索引
(1)检查需要重建的索引。
根据以下几方面进行检查,确定需要重建的索引。
第一,查看SYSTEM表空间中的用户索引。
为了避免数据字典的碎片出现,要尽量避免在SYSTEM表空间出现用户的表和索引。
select index_name from dba_indexes where tablespace_name=''SYSTEM'' and owner not in (''SYS'',''SYSTEM'') / |
set linesize 120 col "OWNER" format a20 col "INDEX" format a30 col "TABLE" format a30 col "TABLESPACE" format a30 select i.owner "OWNER", i.index_name "INDEX", t.table_name "TABLE", i.tablespace_name "TABLESPACE" from dba_indexes i, dba_tables t where i.owner=t.owner and i.table_name=t.table_name and i.tablespace_name=t.tablespace_name and i.owner not in (''SYS'',''SYSTEM'') / |