我在红移群集上有一张大约3TB的表。作为一些预处理步骤的一部分,我需要创建一些派生变量。它们的逻辑很简单,例如变量具有两个变量等的差异。
目前我使用更新命令来创建此类变量。 update命令的问题在于它会占用表大小并需要一个vacuum命令来释放空间。我试图找到一些方法,我可以在不需要vacuum命令的情况下创建这样的派生变量。我尝试使用派生变量创建一个不同的表,并将它们连接到我的主键上。但这同样耗时,因为创建新表并对其进行更新需要几乎相同的时间。
我能以更高效的方式实现这一目标吗?
答案 0 :(得分:1)
只要在具有相同密钥的两个表上使用DISTSTYLE KEY
并且在它们之间的连接中包含DISTKEY
,将新数据保存在单独的表中并加入它就应该相对较快。