压缩所有表并没有减少我的表的大小

时间:2017-01-23 10:30:39

标签: sql oracle compression ddl

我有1000万条记录表,我想压缩,从而减少存储空间。该表未分区并具有索引。

因此,为了压缩现有的表,我发出了如下命令

alter table table_name compress for all operations;

压缩之前和之后,大小保持为150994944字节。难道我做错了什么?我也收集了桌上的统计数据。

我也试过move compress,也有同样的效果

2 个答案:

答案 0 :(得分:0)

关于压缩有两点:

1 。使用包dbms_compression.get_compression_ratio,您可以获得桌面上的压缩率。

2 。列数:压缩限制为255列。如果您尝试压缩超过255列的表,则不会执行压缩,尽管您没有收到错误消息

答案 1 :(得分:0)

将表设置为压缩对现有数据不起作用。您必须以某种方式重新加载数据(最简单的方法是改变表移动'),这样做,您将需要重建任何最终状态为UNUSABLE的索引。

请注意,压缩'适用于所有操作'除了企业版之外,还需要单独的许可证。 "具有基本"压缩没有。