我有一些带有分区(和suppartions)的oracle表。我的目标是,每当我创建一个新分区时,将所有统计信息从最新分区复制到新分区。
我找到了以下方法
但是,我找不到这些方法之间的区别。
据我所知,copy_table_stats
是最新添加的,如果我没有记错,它可以在10.2.0.4版本之后使用。 get / set和export / import方法需要一些统计操作才能工作(例如,在stats表中更新C2)。
我说错了吗?我没有找到记录的地方,每个方法如何处理suppartition,例如copy_table_stats
我需要在覆盖分区统计信息后复制子分区统计信息。这对其他方法也是如此吗?
一般来说,这三种方法之间有什么显着差异吗?我应该考虑什么?它在某处记录了吗?
答案 0 :(得分:1)
如果要重新设置和修改某些统计值,可能需要使用 get / set (可能还有dbms_stats.convert_raw_value)。
导出/导入非常有用,目标是在另一个实例或删除表上释放(应用)统计信息,然后重新创建并复制(某些)统计信息。在这种情况下,您需要辅助表来保存统计数据。
复制统计数据是实现目标的理想和典型方式。
<强>更新强>
要查找快速说明,只需在Google中输入关键字和“白皮书”
(我在下面找到了使用white paper dbms_stats copy_stats
)
Understanding Optimizer Statistics
以及所有最新的更改
Understanding Optimizer Statistics With Oracle Database 12c Release 2