如何在oracle 11g中将表拆分为两个

时间:2014-06-29 13:03:41

标签: oracle oracle11g compression

我有一张6 TB的桌子,每天大约20 GB。我已经尝试过OLTP压缩和secureFile压缩,但它只提供了大约20%的压缩率。

所以我想通过将LOB列移动到新表来拆分表,在该表中我将使用secureFIle LOB压缩&重复数据删除功能。从原始表中删除LOB后可以提供更好的OLTP压缩率。

考虑到餐桌的大小,请建议最好的吐痰方法。

注意:该表每天都会创建分区。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您桌子的使用情况如何?

通常会有一个包含数据的表格......

  

“该表每天都有创建分区。”

......对最近的记录有较高的需求,对旧记录的需求较低。特别是DML(更新,插入和删除)通常专注于更新的东西,并修复旧的记录。

如果这是您的使用案例,您可以对旧记录应用更强大的压缩,例如COMPRESS FOR QUERY甚至COMPRESS FOR ARCHIVE。可以使用ALTER TABLE ... ALTER PARTITION ... COMPRESS ...将这些命令应用于各个分区。 Find out more.

从FOR QUERY,尤其是FOR ARCHIVE压缩,你将获得更大的空间收益,而不是拆分表并坚持使用FOR OLTP。这个价格是更昂贵的DML。所以真的只能在明确锁定的数据上使用它们。如果您的数据管理组织良好并且您已跨多个表空间分布分区,则可以使相关的表空间只读。 Find out more