Обновление огромных таблиц в Teradata

#teradata #updates #teradatasql

#teradata #Обновления #teradatasql

Вопрос:

Я пытаюсь ежедневно обновлять огромную таблицу в Teradata. Инструкция Update занимает много времени.

Таблица содержит 65 миллиардов строк и обновляется 100-200 миллионов строк.

Таблица — это таблица наборов с неуникальным числом PI. Распределение данных довольно равномерное с коэффициентом искажения 0,8.

Как можно сократить время AMPCPU?

Обновление выполняется с использованием таблицы этапов. Объединение выполняется для подмножества столбцов PI.

Попытки: Изменен PI таблицы этапов, такой же, как у целевой таблицы. В плане объяснения говорится, что выполняется обновление слиянием. Но время загрузки довольно увеличивается. Пробовал удалять и вставлять, но удаление и вставка также занимают больше времени.

Комментарии:

1. Каково среднее и максимальное количество строк в PI? Вы пробовали вместо этого ОБЪЕДИНИТЬ? Разделена ли таблица targe?

2. Среднее и максимальное значения аналогичны 9,42 Млн и 9,53 Млн соответственно. Слияние также занимает аналогичное время AMPCPU. Целевая таблица не разделена

3. NUPI для заданной таблицы с почти 10 миллионами строк на значение? Ой. Конечно, для этого требуется много ресурсов процессора, вы обновляете одну строку, и файловая система должна проверить, не приводит ли это к дублированию строки. Вставка должна быть аналогичной, с использованием большого количества процессоров.

4. Попытался преобразовать целевую таблицу в мультимножество. Но AMPCPU все еще выше. И 10 M приходится на записи AMP на основе PI

5. Хорошо, но тогда каково количество строк на значение PI? Какие-либо вторичные индексы / Join / Hash, FKS? Сжатие на уровне блоков?