更新表中数据的最佳方法 - Teradata

时间:2017-04-05 10:13:36

标签: performance teradata

我是Teradata&的新手幸运的是,有机会同时处理两个DDL-DML语句。

我观察到的一件事是,当UPDATE具有大量记录的表中的数据时,Teradata非常慢。

我在Google上找到执行此更新的最简单方法是使用INSERT-SELECT写一个CASE语句,其中包含要使用新值更新的列。

但是当这种情况到达Data Warehouse环境时,当我们需要从包含数百万行的表中更新多个列时,该怎么办? 哪种方法最好?

INSERT-SELECT仅限OR MERGE-UPDATEMLOAD

不确定上述任何方法是否未用于此UPDATE操作。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

在企业级,我们预计数量巨大,而更新往往是某些预定作业/脚本的一部分。

对于大量数据,更新是一项代价高昂的操作,如果更新失败(由于备用日志),则会在一段时间内阻止表的风险。尽管脚本经过良好测试,并且在生产环境中很少发生故障,但最好将需要更新的数据加载到所需形式的临时表中,并在删除匹配的记录后插回到同一个表中以维护SCD -1(我们不保留历史的地方)。