Sobes.tech
Junior — Middle

Můžete vysvětlit, co znamená příkaz VACUUM FULL v SQL a v čem se liší od běžného VACUUM?

sobes.tech AI

Odpověď od AI

Команда VACUUM в SQL (чаще всего в PostgreSQL) используется для очистки базы данных от «мертвых» строк, которые остаются после обновлений или удалений, чтобы освободить место и предотвратить разрастание таблиц.

VACUUM FULL — это более интенсивная версия команды, которая не только очищает, но и полностью реорганизует таблицу, сжимая её и освобождая дисковое пространство обратно операционной системе. При этом VACUUM FULL блокирует таблицу на время выполнения, что может повлиять на доступность данных.

Основные отличия:

  • VACUUM выполняется быстро и не блокирует таблицу для чтения/записи.
  • VACUUM FULL занимает больше времени, блокирует таблицу и возвращает дисковое пространство.

Использовать VACUUM FULL стоит, когда нужно существенно уменьшить размер таблицы на диске, например, после массового удаления данных.