-- 查看表大小 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;