2016-03-30 2 views
0

essayer de recueillir des échantillons 2 pct stats de plusieurs colonnes sur un VT problème est, il n'échantillonne pas ou je manque quelque choseteradata recueillir les statistiques en utilisant l'échantillon ne marche pas travailler assez

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

Table de matières volatiles VT a quelques milliards et il faut autant de temps "pour toujours" pour collecter des statistiques sur VT que pour une collection de statistiques régulière.
Aussi ailleurs, dans une situation similaire dans le passé, j'ai observé si j'utilise la syntaxe de collecte de statistiques 'new' (many cols in one), il échantillonnerait le 1er col et ignorerait le reste (maintenant cette 2ème partie n'est pas vérifié tout le chemin depuis que je basé plus sur un « temps pris » contre peeping intuition dans le Histo.)

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 **/ 

ici

/* SamplePercent */ 0.00,
est ce que je vais par. Je suis sûr qu'il me manque quelque chose.

Répondre

1

Est-ce que c'est /* DBSVersion */ '14.00.00', correct? Vous semblez lancer une version très ancienne, est-ce un TD Express?

Eh bien, si vous avez une table de 5 000 000 000 lignes, cette /* NumOfRows */ 1201056221, semble indiquer approximativement. 25%, c'est étrange aussi.

Si vous expliquez votre COLLECT STATS, vous pouvez voir si c'est réellement un échantillonnage.

Pouvez-vous ajouter le DDL du tableau?

+0

Hi Dieter .TY. Je suis tellement désolé, je peux sembler trompeur avec ce 5 milliard-j'ai un peu signifié que le (*) est en milliards (comme en véhiculant une table énorme) et n'avait pas payé attn aux détails. Corrigé le Q. Je pense que c'est arrivé parce que j'ai copié le VT avec des statistiques. Ce sont des statistiques périmées. Je vais donc devoir les laisser tomber pour que l'échantillonnage fonctionne? J'ai expliqué les 'collect stats'. Cela ne semble pas vouloir échantillonner. Donc, s'il existe des statistiques complètes sur un VT, vous ne pouvez pas échantillonner lors de votre 2ème passage. Pour que l'échantillonnage fonctionne, vous devez désactiver les statistiques complètes? TY à nouveau – user1874594

+0

@ user1874594: Depuis TD14 le processus de collecte de statistiques se souvient du paramètre SAMPLE, donc quand vous avez collecté une fois 'UTILISATION DE L'ÉCHANTILLON 2 PERCENT' le prochain rappel gardera l'échantillon même si vous ne le spécifiez pas. Il suffit de lancer Explain. – dnoeth

+0

@ user1874594: Je l'ai juste essayé et il semble que 'SAMPLE' ne fonctionne pas sur les tables volatiles, je ne sais pas si cela est documenté (au moins je ne l'ai pas encore vu). Vous devriez demander à Carrie Ballinger sur DevEx: http://developer.teradata.com/blog/carrie/2014/09/statistics-collection-recommendations-teradata-14-10-15-0-and-15-10 – dnoeth