我是Redshift的新手,正在努力更新Redshift表中的列。我有一个巨大的数据表,并向其中添加了一个空列。我正在尝试通过使用update命令将其与另一个表联接来填充此空列。我担心的是,即使还有291 GB的空间,由此UPDATE语句创建的临时块也会产生DISK FULL错误。任何解决方案或建议表示赞赏。预先感谢!
答案 0 :(得分:0)
不建议在Amazon Redshift表中执行大型UPDATE
命令。
原因是,即使仅更新一行中的一列也会导致以下情况:
如果您要更新表中的每一行,这意味着表所需的存储空间是存储空间的两倍,由于压缩效率较低,可能会更多。这可能是消耗磁盘空间的原因。
建议的替代方法是将联接的数据选择到新表中。是的,这也将需要更多的磁盘空间,但是会更有效地组织。然后,您可以删除原始表并将新表重命名为旧表名。
一些资源: