当我使用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导出,它运行正常。
答案 0 :(得分:2)
我希望你能早点在评论中回答我的问题但是我会把这个问题抛出来,这可能是你在警告信息中看到的差异的原因。
您的表被定义为具有非唯一主索引的MULTISET,或者可能是Teradata 13.x中的NOPI表。表或唯一索引没有其他唯一约束。该表已加载了8个重复的数据行。
由于我无法根据您的描述确定原因,BTEQ返回了一组唯一的记录,尽管优化器指示该语句的活动计数更大。因此,您正在看到警告信息。