Назад к вопросам
Senior
12
В чём разница между VACUUM и VACUUM FULL?
Компании, где спрашивали
Lenta Tech
Ответ от нейросети
sobes.tech AI
VACUUM и VACUUM FULL — это команды в PostgreSQL для очистки базы данных от «мертвых» строк, которые остаются после обновлений и удалений.
-
VACUUM: выполняет обычную очистку, освобождая пространство для повторного использования внутри таблицы, но не уменьшает физический размер файла таблицы. Это быстрый процесс, который не блокирует таблицу для чтения и записи.
-
VACUUM FULL: выполняет более глубокую очистку, сжимающую таблицу и освобождающую неиспользуемое пространство обратно операционной системе. При этом таблица блокируется для записи и чтения на время операции, и процесс занимает значительно больше времени.
Итого:
- Используйте
VACUUMдля регулярного обслуживания без блокировок. - Используйте
VACUUM FULL, когда нужно вернуть дисковое пространство, например, после массового удаления данных.