1

我有一个大的事实表,其中包含一个按年和月划分的分区(yyyymm),我需要在一个月内删除所有数据,我想删除并重新创建分区以使我的工作更轻松。我的表有 +200kk 行,删除分区更有意义。

我阅读了这篇Microsoft's文章一步将新数据加载到包含数据的分区中,但不清楚如何删除一个分区并重新创建另一个空分区来加载新数据。

有没有策略来做到这一点?

4

1 回答 1

1

按照我们在这种情况下使用的过程:

  • 我们确定要更改的分区范围
  • 接下来,我们CREAT TABLE ... AS SELECT...对要加载到分区中的数据执行 a 。此表必须使用与目标表完全相同的结构创建,并且应该与您要更改的分区具有相同的分区范围
  • 此外,我们创建了一个与所需分区具有相同结构和分区范围的新表,但没有任何数据
  • 在以下步骤中,我们执行从目标表到空表的分区切换,然后从我们根据 CTAS 创建的表到目标表的分区切换。
  • 最后但并非最不重要的一点是,我们删除了两个“单分区”表(一个包含我们想要切换的数据,而前一个空表现在包含我们想要切换出的数据)。
于 2020-11-27T11:32:52.607 回答