我有1000万条记录表,我想压缩,从而减少存储空间。该表未分区并具有索引。
因此,为了压缩现有的表,我发出了如下命令
alter table table_name compress for all operations;
压缩之前和之后,大小保持为150994944字节。难道我做错了什么?我也收集了桌上的统计数据。
我也试过move compress
,也有同样的效果
答案 0 :(得分:0)
关于压缩有两点:
1 。使用包dbms_compression.get_compression_ratio,您可以获得桌面上的压缩率。
2 。列数:压缩限制为255列。如果您尝试压缩超过255列的表,则不会执行压缩,尽管您没有收到错误消息
答案 1 :(得分:0)
将表设置为压缩对现有数据不起作用。您必须以某种方式重新加载数据(最简单的方法是改变表移动'),这样做,您将需要重建任何最终状态为UNUSABLE的索引。
请注意,压缩'适用于所有操作'除了企业版之外,还需要单独的许可证。 "具有基本"压缩没有。