teradata 使用样本收集统计数据不太有效

teradata collect stats using sample doesnt quite work

尝试在 VT 上收集样本 2 pct 多列统计数据 问题是,它没有采样或者我遗漏了一些东西

COLLECT STATISTICS USING sample 2 percent 
        COLUMN ( C1,C2,C3) , 
        COLUMN ( C1 ) on vt  , 

易变 table VT 有几十亿行,收集 VT 统计数据所花费的时间与常规统计数据收集一样多 "forever" 时间。
同样在其他地方,在过去的类似情况下,我观​​察到如果我使用 'new'(许多列合一)统计信息收集语法,它会采样第一个列并忽略其余部分(现在这个第二部分并没有完全验证,因为我更多的是基于 'time taken' 的直觉而不是窥视历史。)

    show  stats values  
            COLUMN ( C1,C2,C3 ) , 
            COLUMN ( C1 )  on vt;

COLLECT STATISTICS 
            COLUMN ( C1,C2,C3 )
                ON  vt 
            VALUES
(
 /** SummaryInfo **/ 
 /* Data Type and Length: 'I8:8', 'I:4', 'CF:1' */
 /* TimeStamp             */ TIMESTAMP '2016-03-29 16:16:13-00:00', 
 /* Version               */ 6, 
 /* OriginalVersion       */ 6, 
 /* DBSVersion            */ '14.00.00', 
 /* UsageType             */ 'D', 
 /* ComplexStatInfo       */ 'ComplexStatInfo', 
 /* NumOfBiasedValues     */ 0, 
 /* NumOfEHIntervals      */ 200, 
 /* NumOfHistoryRecords   */ 1, 
 /* SamplePercent         */ 0.00, 
 /* NumOfNulls            */ 0, 
 /* NumOfAllNulls         */ 0, 
 /* NumOfPartialNullVals  */ 0, 
 /* PartialNullHMF        */ 0, 
 /* AvgAmpRPV             */ 0.000000, 
 /* MinVal                */ 2012070201942549261, 221945585, 'P', 
 /* MaxVal                */ 2014022922306867633, 277308727, 'P', 
 /* ModeVal               */ 2012070201942549261, 221945585, 'P', 
 /* HighModeFreq          */ 1, 
 /* NumOfDistinctVals     */ 1201056221, 
 /* NumOfRows             */ 1201056221, 
 /* CPUUsage              */ 0.000000, 
 /* IOUsage               */ 0.000000, 
 /* Reserved              */ 0, 
 /* Reserved              */ 0, 
 /* Reserved              */ 0.000000, 
 /* Reserved              */ 0.000000, 
 /* Reserved              */ '', 
 /* StatsSkipCount        */ 0, 
 /* SysInsertCnt          */ 0, 
 /* SysDeleteCnt          */ 0, 
 /* SysUpdateCnt          */ 0, 
 /* SysInsDelLastResetTS  */ TIMESTAMP '9999-12-31 23:59:59-00:00', 
 /* SysUpdLastResetTS     */ TIMESTAMP '9999-12-31 23:59:59-00:00', 
 /* IsSampleFollowingTrend*/ 0, 
 /** Interval: MaxVal[3], ModeVal[3], ModeFreq, LowFreq, OtherVals, OtherRows **/ 

此处

/* SamplePercent */ 0.00,
是我的意思。我确定我错过了什么。

/* DBSVersion */ '14.00.00', 正确吗?您似乎 运行 一个很旧的版本,这是 TD Express 吗?

嗯,如果你有 5,000,000,000 行 table,这个 /* NumOfRows */ 1201056221, 似乎表示大约。 25%,这也很奇怪。

如果你解释你的 COLLECT STATS 你可以看到它是否真的在采样。

你能添加 table 的 DDL 吗?