COLLECT STATS не получает реальные значения - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть эта таблица в Teradata (15.00)

CREATE MULTISET TABLE STG_DB.TB_LINES (
  COD_ORDER VARCHAR(60) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,   
  NUM_LINE DECIMAL(4,0) NOT NULL
) PRIMARY INDEX TB_LINES_NUPI ( COD_ORDER );

И вот как я собираю статистику:

COLLECT STATISTICS 
            COLUMN ( COD_ORDER  ) , 
            COLUMN ( COD_ORDER,NUM_LINE  ) 
                ON STG_DB.TB_LINES ;

Но когда я делаю ПОМОЩЬ STATS ON STG_DB.TB_LINES; Я получаю следующие результаты:

Unique Values,   Column Names
    5,531,048,   *
    3,403,375,   COD_ORDER
       72,097,   COD_ORDER,NUM_LINE

Почему я получаю 72,097 в паре (COD_ORDER, NUM_LINE)?

Уникальное значение COD_ORDER, NUM_LINE, должно составлять 5 531 048, поскольку NUM_LINE - это последовательность, которую я задаю, начиная с 1 для каждого COD_ORDER.

В худшем случае (COD_ORDER, NUM_LINE) должно иметь те же значения, что и (COD_ORDER), не так ли?

Я попытался добавить ИСПОЛЬЗОВАТЬ ОБРАЗЕЦ 100 ПРОЦЕНТОВ без лучшего вывода.

Как я могу получить полную полную статистику в таблице? Те же значения, что и у меня:

SELECT COUNT(*) AS C FROM ( 
SELECT COD_ORDER,NUM_LINE 
  FROM STG_DB.TB_LINES 
 GROUP BY 1,2 ) D1;

Заранее спасибо:)


Редактировать: Проверка значений статистики с помощью:

SHOW STATISTICS VALUES COLUMN ( COD_ORDER,NUM_LINE ) ON STG_DB.TB_LINES;

Я видел, что мои значения ORDER были усечены до 26 символов, а затем я увидел эту опцию в Язык определения данных SQL - Синтаксис и примеры. Pdf :

MAXVALUELENGTH n
Задает максимальный размер значений гистограммы, таких как MinValue, ModeValue, MaxValue и т. Д., Где n - целое число.
Для односимвольной статистики по столбцам CHARACTER и VARCHAR n указывает количество символов. Для всех других опций n указывает количество байтов.
Вы можете указать эту опцию, только если вы также указали явный индекс или набор столбцов.
Вы не можете использовать эту опцию для сбора статистики по геопространственному NUSI.
Эта опция действительна только для таблиц.

Таким образом, решение проблемы решено следующим образом:

COLLECT STATISTICS 
             USING MAXVALUELENGTH 60 -- length of my COD_ORDER field
            COLUMN ( COD_ORDER  ) , 
            COLUMN ( COD_ORDER,NUM_LINE  ) 
                ON STG_DB.TB_LINES ;

Спасибо за ваше время:)


Edit2: добавление значений статистики:

COLLECT STATISTICS 
            COLUMN ( COD_ORDER,NUM_LINE  ) 
                ON STG_DB.TB_LINES 
            VALUES
(
 /** SummaryInfo **/ 
 /* Data Type and Length: 'CV:26', 'D:0:4:0' */
 /* TimeStamp             */ TIMESTAMP '2018-09-03 11:33:16-00:00', 
 /* Version               */ 6, 
 /* OriginalVersion       */ 6, 
 /* DBSVersion            */ '15.00.06.13', 
 /* UsageType             */ 'D', 
 /* ComplexStatInfo       */ 'ComplexStatInfo', 
 /* NumOfBiasedValues     */ 144, 
 /* NumOfEHIntervals      */ 1, 
 /* NumOfHistoryRecords   */ 0, 
 /* SamplePercent         */ 0.00, 
 /* NumOfNulls            */ 0, 
 /* NumOfAllNulls         */ 0, 
 /* NumOfPartialNullVals  */ 0, 
 /* PartialNullHMF        */ 0, 
 /* AvgAmpRPV             */ 0.000000, 
 /* MinVal                */ 'ID:414d5120514d50524f30312', 0., 
 /* MaxVal                */ 'ID:414d5120514d53474945505', 0., 
 /* ModeVal               */ 'ID:414d5120514d53474945505', 0., 
 /* HighModeFreq          */ 36405, 
 /* NumOfDistinctVals     */ 72097, 
 /* NumOfRows             */ 6037117, 
 /* CPUUsage              */ 0.000000, 
 /* IOUsage               */ 0.000000, 
 /* Reserved              */ 0, 
 /* Reserved              */ 0, 
 /* Reserved              */ 0.000000, 
 /* Reserved              */ 0.000000, 
 /* Reserved              */ 'T0000D00000S00000', 
 /* 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, 
 /** Biased: Value[2], Frequency **/ 
 /*   1 */   'ID:414d5120514d53474945505', 0., 18103, 
 /*   2 */   'ID:414d5120514d53474945505', 0., 18110, 
 /*   3 */   'ID:414d5120514d53474945505', 0., 17983, 
 /*   4 */   'ID:414d5120514d53474945505', 0., 18018, 
 /*   5 */   'ID:414d5120514d53474945505', 0., 18058, 
 /*   6 */   'ID:414d5120514d53474945505', 0., 17943, 
 /*   7 */   'ID:414d5120514d53474945505', 0., 17994, 
 /*   8 */   'ID:414d5120514d53474945505', 0., 18166, 
 /*   9 */   'ID:414d5120514d53474945505', 0., 18040, 
 /*  10 */   'ID:414d5120514d53474945505', 0., 18062, 
 /*  11 */   'ID:414d5120514d53474945505', 0., 18299, 
 /*  12 */   'ID:414d5120514d53474945505', 0., 18128, 
 /*  13 */   'ID:414d5120514d53474945505', 0., 17890, 
 /*  14 */   'ID:414d5120514d53474945505', 0., 18422, 
 /*  15 */   'ID:414d5120514d53474945505', 0., 18108, 
 /*  16 */   'ID:414d5120514d53474945505', 0., 18223, 
 /*  17 */   'ID:414d5120514d53474945505', 0., 18033, 
 /*  18 */   'ID:414d5120514d53474945505', 0., 18213, 
 /*  19 */   'ID:414d5120514d53474945505', 0., 17992, 
 /*  20 */   'ID:414d5120514d53474945505', 0., 18225, 
 /*  21 */   'ID:414d5120514d53474945505', 0., 18157, 
 /*  22 */   'ID:414d5120514d53474945505', 0., 18207, 
 /*  23 */   'ID:414d5120514d53474945505', 0., 18436, 
 /*  24 */   'ID:414d5120514d53474945505', 0., 18141, 
 /*  25 */   'ID:414d5120514d53474945505', 0., 18172, 
 /*  26 */   'ID:414d5120514d53474945505', 0., 18241, 
 /*  27 */   'ID:414d5120514d53474945505', 0., 18111, 
 /*  28 */   'ID:414d5120514d53474945505', 0., 17898, 
 /*  29 */   'ID:414d5120514d53474945505', 0., 18201, 
 /*  30 */   'ID:414d5120514d53474945505', 0., 18071, 
 /*  31 */   'ID:414d5120514d53474945505', 0., 17888, 
 /*  32 */   'ID:414d5120514d53474945505', 0., 18035, 
 /*  33 */   'ID:414d5120514d53474945505', 0., 18252, 
 /*  34 */   'ID:414d5120514d53474945505', 0., 18059, 
 /*  35 */   'ID:414d5120514d53474945505', 0., 18187, 
 /*  36 */   'ID:414d5120514d53474945505', 0., 18150, 
 /*  37 */   'ID:414d5120514d53474945505', 0., 18173, 
 /*  38 */   'ID:414d5120514d53474945505', 0., 18026, 
 /*  39 */   'ID:414d5120514d53474945505', 0., 18450, 
 /*  40 */   'ID:414d5120514d53474945505', 0., 18330, 
 /*  41 */   'ID:414d5120514d53474945505', 0., 18227, 
 /*  42 */   'ID:414d5120514d53474945505', 0., 17953, 
 /*  43 */   'ID:414d5120514d53474945505', 0., 18361, 
 /*  44 */   'ID:414d5120514d53474945505', 0., 18176, 
 /*  45 */   'ID:414d5120514d53474945505', 0., 18027, 
 /*  46 */   'ID:414d5120514d53474945505', 0., 18041, 
 /*  47 */   'ID:414d5120514d53474945505', 0., 17983, 
 /*  48 */   'ID:414d5120514d53474945505', 0., 18095, 
 /*  49 */   'ID:414d5120514d53474945505', 0., 18131, 
 /*  50 */   'ID:414d5120514d53474945505', 0., 18334, 
 /*  51 */   'ID:414d5120514d53474945505', 0., 18084, 
 /*  52 */   'ID:414d5120514d53474945505', 0., 17901, 
 /*  53 */   'ID:414d5120514d53474945505', 0., 18139, 
 /*  54 */   'ID:414d5120514d53474945505', 0., 18311, 
 /*  55 */   'ID:414d5120514d53474945505', 0., 18046, 
 /*  56 */   'ID:414d5120514d53474945505', 0., 17992, 
 /*  57 */   'ID:414d5120514d53474945505', 0., 17977, 
 /*  58 */   'ID:414d5120514d53474945505', 0., 18220, 
 /*  59 */   'ID:414d5120514d53474945505', 0., 18179, 
 /*  60 */   'ID:414d5120514d53474945505', 0., 18171, 
 /*  61 */   'ID:414d5120514d53474945505', 0., 17895, 
 /*  62 */   'ID:414d5120514d53474945505', 0., 18270, 
 /*  63 */   'ID:414d5120514d53474945505', 0., 18146, 
 /*  64 */   'ID:414d5120514d53474945505', 0., 18248, 
 /*  65 */   'ID:414d5120514d53474945505', 0., 17901, 
 /*  66 */   'ID:414d5120514d53474945505', 0., 18202, 
 /*  67 */   'ID:414d5120514d53474945505', 0., 18391, 
 /*  68 */   'ID:414d5120514d53474945505', 0., 18173, 
 /*  69 */   'ID:414d5120514d53474945505', 0., 18204, 
 /*  70 */   'ID:414d5120514d53474945505', 0., 18164, 
 /*  71 */   'ID:414d5120514d53474945505', 0., 18233, 
 /*  72 */   'ID:414d5120514d53474945505', 0., 18195, 
 /*  73 */   'ID:414d5120514d53474945505', 0., 35659, 
 /*  74 */   'ID:414d5120514d53474945505', 0., 36011, 
 /*  75 */   'ID:414d5120514d53474945505', 0., 35582, 
 /*  76 */   'ID:414d5120514d53474945505', 0., 36139, 
 /*  77 */   'ID:414d5120514d53474945505', 0., 36271, 
 /*  78 */   'ID:414d5120514d53474945505', 0., 36069, 
 /*  79 */   'ID:414d5120514d53474945505', 0., 36032, 
 /*  80 */   'ID:414d5120514d53474945505', 0., 35960, 
 /*  81 */   'ID:414d5120514d53474945505', 0., 36128, 
 /*  82 */   'ID:414d5120514d53474945505', 0., 35982, 
 /*  83 */   'ID:414d5120514d53474945505', 0., 35960, 
 /*  84 */   'ID:414d5120514d53474945505', 0., 36081, 
 /*  85 */   'ID:414d5120514d53474945505', 0., 35812, 
 /*  86 */   'ID:414d5120514d53474945505', 0., 35858, 
 /*  87 */   'ID:414d5120514d53474945505', 0., 35844, 
 /*  88 */   'ID:414d5120514d53474945505', 0., 36212, 
 /*  89 */   'ID:414d5120514d53474945505', 0., 35803, 
 /*  90 */   'ID:414d5120514d53474945505', 0., 36057, 
 /*  91 */   'ID:414d5120514d53474945505', 0., 36405, 
 /*  92 */   'ID:414d5120514d53474945505', 0., 35983, 
 /*  93 */   'ID:414d5120514d53474945505', 0., 35898, 
 /*  94 */   'ID:414d5120514d53474945505', 0., 36200, 
 /*  95 */   'ID:414d5120514d53474945505', 0., 35650, 
 /*  96 */   'ID:414d5120514d53474945505', 0., 35718, 
 /*  97 */   'ID:414d5120514d53474945505', 0., 35952, 
 /*  98 */   'ID:414d5120514d53474945505', 0., 35979, 
 /*  99 */   'ID:414d5120514d53474945505', 0., 35720, 
 /* 100 */   'ID:414d5120514d53474945505', 0., 36012, 
 /* 101 */   'ID:414d5120514d53474945505', 0., 35974, 
 /* 102 */   'ID:414d5120514d53474945505', 0., 36095, 
 /* 103 */   'ID:414d5120514d53474945505', 0., 35500, 
 /* 104 */   'ID:414d5120514d53474945505', 0., 35932, 
 /* 105 */   'ID:414d5120514d53474945505', 0., 36208, 
 /* 106 */   'ID:414d5120514d53474945505', 0., 35794, 
 /* 107 */   'ID:414d5120514d53474945505', 0., 35882, 
 /* 108 */   'ID:414d5120514d53474945505', 0., 35860, 
 /* 109 */   'ID:414d5120514d53474945505', 0., 36046, 
 /* 110 */   'ID:414d5120514d53474945505', 0., 35880, 
 /* 111 */   'ID:414d5120514d53474945505', 0., 35890, 
 /* 112 */   'ID:414d5120514d53474945505', 0., 36121, 
 /* 113 */   'ID:414d5120514d53474945505', 0., 36002, 
 /* 114 */   'ID:414d5120514d53474945505', 0., 35618, 
 /* 115 */   'ID:414d5120514d53474945505', 0., 35768, 
 /* 116 */   'ID:414d5120514d53474945505', 0., 36022, 
 /* 117 */   'ID:414d5120514d53474945505', 0., 35812, 
 /* 118 */   'ID:414d5120514d53474945505', 0., 36246, 
 /* 119 */   'ID:414d5120514d53474945505', 0., 36189, 
 /* 120 */   'ID:414d5120514d53474945505', 0., 35994, 
 /* 121 */   'ID:414d5120514d53474945505', 0., 36035, 
 /* 122 */   'ID:414d5120514d53474945505', 0., 35618, 
 /* 123 */   'ID:414d5120514d53474945505', 0., 35908, 
 /* 124 */   'ID:414d5120514d53474945505', 0., 35567, 
 /* 125 */   'ID:414d5120514d53474945505', 0., 35775, 
 /* 126 */   'ID:414d5120514d53474945505', 0., 35922, 
 /* 127 */   'ID:414d5120514d53474945505', 0., 35865, 
 /* 128 */   'ID:414d5120514d53474945505', 0., 36027, 
 /* 129 */   'ID:414d5120514d53474945505', 0., 35854, 
 /* 130 */   'ID:414d5120514d53474945505', 0., 35926, 
 /* 131 */   'ID:414d5120514d53474945505', 0., 35951, 
 /* 132 */   'ID:414d5120514d53474945505', 0., 36256, 
 /* 133 */   'ID:414d5120514d53474945505', 0., 35591, 
 /* 134 */   'ID:414d5120514d53474945505', 0., 35822, 
 /* 135 */   'ID:414d5120514d53474945505', 0., 35900, 
 /* 136 */   'ID:414d5120514d53474945505', 0., 36265, 
 /* 137 */   'ID:414d5120514d53474945505', 0., 36109, 
 /* 138 */   'ID:414d5120514d53474945505', 0., 35881, 
 /* 139 */   'ID:414d5120514d53474945505', 0., 35411, 
 /* 140 */   'ID:414d5120514d53474945505', 0., 36192, 
 /* 141 */   'ID:414d5120514d53474945505', 0., 35926, 
 /* 142 */   'ID:414d5120514d53474945505', 0., 35919, 
 /* 143 */   'ID:414d5120514d53474945505', 0., 36026, 
 /* 144 */   'ID:414d5120514d53474945505', 0., 35811, 
 /** Interval: MaxVal[2], ModeVal[2], ModeFreq, LowFreq, OtherVals, OtherRows **/ 
 /*     1   */ 'ID:414d5120514d50524f30312', 0., 'ID:414d5120514d50524f30312', 0., 68, 1, 71952, 2144117
);
...