Освобождение пространства, созданного удалением строк из таблицы на greenplum

У меня есть таблица на greenplum, из которой данные ежедневно удаляются с помощью простого оператора удаления. Однако размер таблицы не уменьшается. Есть ли способ, с помощью которого пространство, возвращаемое удалением строк, удаляется из таблицы и, таким образом, уменьшается размер таблицы.


person Nisha Singh    schedule 28.04.2014    source источник


Ответы (1)


База данных Greenplum по своей сути использует тот же код, что и база данных Postgres. Следовательно, вам нужна команда VACUUM. Из документации по адресу http://gpdb.docs.gopivotal.com/4300/pdf/GPDB43RefGuide.pdf:

VACUUM восстанавливает память, занятую удаленными кортежами. При нормальной работе базы данных Greenplum кортежи, удаленные или устаревшие в результате обновления, физически не удаляются из своей таблицы; они остаются на диске до тех пор, пока не будет выполнена ВАКУУМНАЯ ОЧИСТКА. Поэтому необходимо периодически делать VACUUM, особенно на часто обновляемых таблицах.

Кроме того, если вы изменяете значительное количество строк, вы можете использовать VACUUM ANALYZE, чтобы обновить статистику для таблицы для лучшего планирования запросов.

person Chris DeLashmutt    schedule 05.05.2014