【问题标题】:BTEQ The activity count returned by DBS does not match the actual number of rows returnedBTEQ DBS 返回的活动计数与返回的实际行数不匹配
【发布时间】:2012-01-31 18:07:51
【问题描述】:

当我使用 BTEQ 从 teradata 导出表时,输出行数与选择查询数不匹配。以下是BTEQ显示的警告

Warning: The activity count returned by DBS does not match
              the actual number of rows returned.
              Activity Count=495294, Total Rows Returned=495286

这里是选择查询,

SELECT CUST_ID, SPEC1_CODE FROM Table
GROUP BY 1,2

这里是创建表脚本,

CREATE MULTISET TABLE Table ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT
     (
      RECORD_KEY DECIMAL(20,0) NOT NULL,
      CUST_ID VARCHAR(40) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
      SPEC1_CODE VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC)
PRIMARY INDEX ( RECORD_KEY );

当我们联系 Teradata 支持时,他们要求我们运行以下查询。

DIAGNOSTIC NOAGGRENH ON FOR SESSION;

所以,如果我们运行上述查询,然后运行我们的 select/BTEQ 导出,它工作正常。

【问题讨论】:

  • 您能否提供有关生成警告消息的 SELECT 语句的更多详细信息?源表定义为 SET 还是 MULTISET?

标签: teradata


【解决方案1】:

我希望您能尽快在评论中回答我的问题,但我将把它作为您在警告消息中看到的差异的一个可能原因扔掉。

您的表被定义为具有非唯一主索引的 MULTISET,或者在 Teradata 13.x 中可能定义为 NOPI 表。表或唯一索引没有额外的唯一约束。该表已加载 8 行重复的数据。

由于我无法根据您的描述确定原因,BTEQ 返回了一组唯一的记录,尽管优化器表明该语句的活动计数更大。因此,您看到的警告消息。

【讨论】:

  • GROUP BY 绝对不应该导致显示该警告消息。不熟悉那个特定的诊断。我想知道这是否与 DR 不可用或尚未应用于您的环境的开放式 NTA 有关。
猜你喜欢
  • 2019-11-30
  • 2017-09-16
  • 1970-01-01
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多