2014-03-04 24 views
0

很久以前,我被告知我不應該收集有關Teradata UPI的統計數據,但我從來不明白原因。它可能與我們當時運行的版本有關。也可能是UPI不需要統計數據,因此收集這些數據是浪費時間。是否應該在Teradata的統一主要指標上收集統計數據?

我的問題是:我現在應該繼續這種做法,現在我們正在使用TD 13.10(並且很快轉移到TD 14)?如果是這樣,那麼表的大小是否會有所不同,例如1000行AVT表與1億行的詳細表,它們都具有連接操作廣泛使用的單列UPI?

對Teradata文檔的任何具體參考將不勝感激。

回答

5

您應該爲非常小的表收集UPI統計信息,對於大表則取決於使用模式:如果僅用於聯接,則不需要它,因爲優化程序已經知道唯一性。只有當你在那個列上有WHERE條件時,除了平等統計數據可能是必要的,但是然後SAMPLE STATS是可以的。

對於每一個版本,都有Carrie Ballinger的「官方」建議,例如,

http://developer.teradata.com/blog/carrie/2012/04/teradata-13-10-statistics-collection-recommendations

+0

有什麼理由不徵收任何大小的UPI統計或僅是它是收集一大桌是在浪費時間?如果是這樣,是否有一個經驗法則來定義「大桌子」?它是系統中功放數量的函數嗎? – BellevueBob

+1

不,唯一的原因是資源,COU/IO /時間。小的「官方」定義是「<100行/ AMP」,我通常開始採樣約。 「> 100,000/AMP」。小|大|大|大|大取決於你的定義,但它總是基於行/ AMP。 – dnoeth