Запрос с удалением делает мой стол больше и больше - PullRequest
1 голос
/ 08 июля 2019

У меня есть таблица в Redshift с 6 миллионами строк, она весит почти 1 ГБ, и у меня есть подпрограмма, которая удаляет некоторые строки и затем вставляет их снова (потому что часть информации изменяется в режиме реального времени).Но я не знаю, почему, таблица становится больше, как РЕАЛЬНО больше, в эти выходные она весит почти 100 ГБ!

Когда я усекаю или опускаю таблицу, она возвращается к нормальной (с 1 ГБ), но я не могу продолжать делать такие вещи

1 Ответ

1 голос
/ 08 июля 2019

Когда строка удаляется в Amazon Redshift, она помечается как удалено , но место для хранения освобождается только после выполнения команды VACUUM или VACUUM DELETE.Это также относится к обновленным строкам, что приводит к удалению строки и добавлению новой строки в конец пространства хранения.

С Очистка таблиц - Amazon Redshift :

При выполнении удаления строки помечаются для удаления, но не удаляются.Amazon Redshift автоматически запускает операцию VACUUM DELETE в фоновом режиме в зависимости от количества удаленных строк в таблицах базы данных.Amazon Redshift планирует запуск VACUUM DELETE в периоды пониженной нагрузки и приостанавливает работу в периоды высокой нагрузки.

Таким образом, в вашей таблице может не хватить «периодов пониженной нагрузки» для полного вакуумирования..

См. Также: ВАКУУМ - Amazon Redshift

...