#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? Сжатие на уровне блоков?