我是Teradata的新手&幸运的是,我有机会使用这两个DDL-DML语句。
我观察到的一件事是,当对包含大量记录的表中的数据执行UPDATE时,Teradata的速度非常慢。
我在Google上找到的执行此更新的最简单方法是编写一条INSERT-SELECT语句,其中包含一个包含要用新值更新的值的列的CASE。
但是,当这种情况出现在Data Warehouse环境中时,当我们需要更新包含数百万行的表中的多个列时,该怎么办呢?哪种方法是最好的选择?
INSERT-SELECT only、MERGE-UPDATE还是MLOAD?
不确定是否有任何上述方法未用于此UPDATE操作。
提前谢谢你!
发布于 2017-04-07 01:50:06
在企业级,我们预计数据量会很大,更新通常是一些计划的作业/脚本的一部分。
由于数据量巨大,更新是一项代价高昂的操作,在更新失败(由于备用日志)的情况下,会有一段时间阻塞表的风险。尽管脚本经过了良好的测试,并且在生产环境中很少发生故障,但最好将需要更新的数据以所需的形式加载到临时表中,并在删除匹配记录后插入回相同的表中,以维护SCD-1 (我们不维护历史记录)。
https://stackoverflow.com/questions/43228209
复制相似问题