Teradata 数据插入到多组表中占用高CPU

Teradata 数据插入到多组表中占用高CPU,teradata,Teradata,尝试将初始大容量加载到多集表中,以基于MOD on Identifier列的10个Insert SQL为一部分。第一次和第二次插入正在运行,但第三次插入由于CPU倾斜过大而失败 DBQLOGTBL显示第一个SQL占用了大约10%的CPU。第二个占用了30%,第三个占用了50%的CPU,因此失败 每个数据库中加载的记录数大致相同。根据解释计划,失败的步骤是TD使用Spool合并到主表 解决这个问题的办法是什么 表是带有NUPI的多集 日期列上的分区 初始加载后的数据量将为6 TB,因此大约600

尝试将初始大容量加载到多集表中,以基于MOD on Identifier列的10个Insert SQL为一部分。第一次和第二次插入正在运行,但第三次插入由于CPU倾斜过大而失败

DBQLOGTBL显示第一个SQL占用了大约10%的CPU。第二个占用了30%,第三个占用了50%的CPU,因此失败

每个数据库中加载的记录数大致相同。根据解释计划,失败的步骤是TD使用Spool合并到主表

解决这个问题的办法是什么

表是带有NUPI的多集 日期列上的分区
初始加载后的数据量将为6 TB,因此大约600 GB被插入到10个分区中

10%的CPU,即系统CPU,相对于3个加载?这些负载可能不是基于分区的。但初始批量加载意味着空表。为什么不一次用TPT负载加载这个表呢?总分配TD系统CPU的10%。大约20万安培。下面的SQL将采取进一步的措施。是的,这是一张空桌子。正在使用另一个表加载它,该表与具有中间转换数据的GTT连接。因此,使用BTEQI尝试绕过BTEQ中的瞬态日志,在每个插入之前添加“;”并按顺序写入所有插入。但在5-6次插入之后,由于CPU时间问题,仍然失败。还有其他建议吗?表块级别压缩了吗?然后,如果负载不是基于分区的,则插入需要取消并重新压缩所有数据块。