【发布时间】:2016-11-15 16:11:11
【问题描述】:
我有一个 ETL 过程,它将数据加载到目标表 A。我们创建了另一个表 B,它在结构上与目标表相同 报告团队可以访问此表以生成报告。现在,只要将数据加载到目标表 A 中,就会调用存储过程以将表 B 重命名为表 Temp,将表 B 重命名为表 A,将表 A 重命名为表 Temp。这样做是为了尽量减少生成报告的停机时间。
这样,报告始终访问最新数据。现在我的问题是我可以在表 B 上创建一个分区,并使用交换分区机制来交换 A 和分区表 B 的段。那么你能告诉我哪种方法更好,交换分区与表重命名有何不同。
【问题讨论】:
-
@George 是否可以在目标表上有两个分区 P1 和 P2,ETL 进程将数据加载到目标表的 P1 分区,然后使用交换分区我们可以将分区 P2 与分区 P1 交换。 P1 将用于 ETL,P2 将用于报告...这种设计是否可以使用 Exchange 分区机制??
标签: sql oracle etl database-partitioning