Полная загрузка в Redshift - DROP vs TRUNCATE - PullRequest
0 голосов
/ 24 июня 2019

В рамках ежедневной загрузки в Redshift у меня есть несколько таблиц, которые нужно удалить и полностью загрузить все из них (размер данных небольшой, менее 1 миллиона).

У меня вопрос, какая изниже две стратегии лучше с точки зрения использования процессора и памяти в Redshift: 1) усечение данных 2) DROP и воссоздание таблицы.

Если я усекаю таблицы, я должен выполнять Vacuum для таблиц каждый день, так как я прочитал, чточастое удаление и повторное создание таблиц в базе данных приводит к фрагментации страниц.

И в одной из таблиц я хотел бы включить сжатие.Итак, есть ли недостаток в создании DDL с кодированием каждый день.

Пожалуйста, сообщите!Спасибо!

1 Ответ

1 голос
/ 25 июня 2019

Если вы отбросите таблицы, вы потеряете назначенные разрешения для этих таблиц.Если у вас есть представления для этих таблиц, они будут устаревшими.

Усечение является лучшим вариантом, усечение не требует вакуума или анализа, оно создано для таких случаев использования, как этот.

Для получения дополнительной информации Redshift Сокращенная документация

...