Перейти к основному содержимому

Инкрементное обновление

Инкрементальное обновление данных подразумевает загрузку данных в базу данных без полной перезаписи.

Необходимо настроить скрипт так, чтобы он дополнял данные в таблице, а не перезаписывал их полностью. Это сократит время выполнения скрипта и минимизирует простой системы.

По умолчанию скрипт работает в режиме полной перезаписи: при каждом запуске таблица удаляется (DROP) и создаётся заново. Для больших таблиц это занимает много времени.

Далее вы узнаете как изменить настройки скрипта вместо полной перезаписи удалять данные только за последние 7 дней и дописывать новые.

Настройка инкрементального обновления

Шаг 1. Переместить секцию DELETE под секцию CREATE

В коде скрипта найдите блоки CREATE (создание таблицы) и DELETE (удаление данных). Поменяйте их порядок: сначала должен идти CREATE, затем — DELETE.

Шаг 2. Заменить команду DROP на ALTER

  1. Найдите в секции DELETE команду DROP TABLE. Вместе полного удаления таблицы (DROP) укажем конструкцию  ALTER и удалим данные за последние 7 дней.
  2. Замените DROP TABLE на ALTER TABLE

Alter @@@

ALTER TABLE "Biudzhet"

DELETE WHERE "Order_Date" >= today() - interval 7 day

После внесения изменений в скрипт, нажмите сначала "Сохранить скрипт", затем "Запустить скрипт".