2012-01-02 51 views
0

當我使用BTEQ從teradata中導出表時,輸出行數與選擇查詢數不匹配。以下是BTEQ所示的警告BTEQ由DBS返回的活動計數與返回的實際行數不匹配

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

您能否提供有關生成警告消息的SELECT語句的更多詳細信息?源表是否定義爲SET或MULTISET? – 2012-01-02 14:50:42

回答

2

我希望你能儘快回覆我的問題,但我會把這個問題作爲你在警告信息中看到的差異的可能原因。

您的表格被定義爲MULTISET,它具有非唯一的主索引或可能作爲Teradata 13.x中的NOPI表。表格或唯一索引沒有附加的唯一約束。該表已加載8個重複的數據行。

由於我無法根據您的描述精確定位的原因BTEQ返回了一組唯一的記錄,但優化程序指出該語句的活動計數更大。因此你看到的警告信息。

+1

感謝您的回覆Paller。用更多信息更新了我的問題。 – emaillenin 2012-01-06 11:45:59

+0

GROUP BY絕對不應該導致顯示該警告消息。不熟悉那個特定的診斷。我想知道這是否與一個開放的NTA有關,這個開放的NTA沒有DR或沒有應用到你的環境中。 – 2012-01-06 14:38:06