compress 表设置及索引设置

-- 查看表大小
select segment_name,bytes/1024/1024 from user_segments
where segment_name='TableName';

-- 查看表大小
select table_name,blocks*8192/1024/1024 size_m  -- 2000.6796875    2211.6953125
from user_tables 
--where table_name=UPPER('TableName')
order by size_m desc nulls last;

-- 表分析
begin
  dbms_stats.gather_table_stats(ownname   => 'Ownname',
                                tabname  => UPPER('TableName'));
end;

-- 压缩选项查询
select compression,compress_for from user_tables where table_name='TableName';

 

普通表及分区表的压缩设置

-- 普通表 修改选项
alter table TableName move row store compress advanced;
-- 查询需要重新编译的索引
select index_name,'alter index '||index_name||' rebuild;' as SQL_Text
from user_indexes where table_name='TableName';


-- 分区表 修改选项
alter table TableName row store compress advanced;

-- 已有分区的修改
select partition_name,
'ALTER TABLE '||table_name||' MOVE PARTITION '||partition_name||' row store compress advanced;' as SQL_Text
 from user_tab_partitions where table_name='TableName';
 
select table_name,partition_name,compression,compress_for from user_tab_partitions 
where table_name='TableName';
-- 索引的重新编译
select index_name,'alter index '||index_name||' rebuild;' as SQL_Text
from user_indexes where table_name='TableName' and status='UNUSABLE';
 

select index_name,'alter index '||index_name||' rebuild compress advanced low;' as SQL_Text
from user_indexes where table_name='TableName';

 

-- clob 字段的压缩

ALTER TABLE TableName MODIFY
LOB(CONTENT) (
    COMPRESS
);

 

create index IndexName on TableName (FieldName1, FieldName2) tablespace WM_INDEX compress advanced low;

posted on 2016-01-11 16:36  思静  阅读(1084)  评论(0编辑  收藏  举报