更新Teradata中的大型表

更新Teradata中的大型表,teradata,updates,teradatasql,Teradata,Updates,Teradatasql,我试图每天更新Teradata中的一个大表。Update语句占用了大量的时间 表包含650亿行,更新了1-2亿行 表是具有非唯一PI的集合表。数据分布非常均匀,偏差系数为0.8 减少CPU时间的方法是什么 使用阶段表完成更新。联接位于PI列的子集上 尝试:将阶段表的PI更改为与目标表相同。解释计划表示正在执行合并更新。但安普替米正在增加。 尝试了删除和插入,但删除和插入也占用了更大的AMPCPUTime。每个PI的平均行数和最大行数是多少?你试过合并吗?targe TABLE是否已分区?平均值和

我试图每天更新Teradata中的一个大表。Update语句占用了大量的时间

表包含650亿行,更新了1-2亿行

表是具有非唯一PI的集合表。数据分布非常均匀,偏差系数为0.8

减少CPU时间的方法是什么

使用阶段表完成更新。联接位于PI列的子集上

尝试:将阶段表的PI更改为与目标表相同。解释计划表示正在执行合并更新。但安普替米正在增加。
尝试了删除和插入,但删除和插入也占用了更大的AMPCPUTime。

每个PI的平均行数和最大行数是多少?你试过合并吗?targe TABLE是否已分区?平均值和最大值分别为9.42 M和9.53 M。合并也需要类似的CPU时间。目标表不是一个集合表上的分区,每个值有近1000万行?哎哟当然,这需要大量CPU,您只更新一行,文件系统必须检查是否会导致重复的行。Insert应该类似,使用大量CPU。尝试将目标表转换为多集。但是AMPCPU仍然更高。10 M是基于PIOk的每安培记录,但是每PI值的行数是多少?任何辅助/连接/散列索引,FKs?块级压缩?