Что произойдёт с размером таблицы после INSERT тысячи строк и последующего DELETE всего?

В PostgreSQL DELETE обычно не уменьшает файл таблицы сразу: строки становятся невидимыми, а место позже очищается для повторного использования.

Короткий ответ

Что ответить на собеседовании

В PostgreSQL DELETE обычно не уменьшает файл таблицы сразу: строки становятся невидимыми, а место позже очищается для повторного использования.

Подробный разбор

Ответ с пояснениями

Условие

Что произойдёт с размером таблицы после INSERT тысячи строк и последующего DELETE всего?

Ответ

В PostgreSQL DELETE обычно не уменьшает файл таблицы сразу: строки становятся невидимыми, а место позже очищается для повторного использования.

Размер после INSERT зависит от исходного свободного места, индексов и размера строк, поэтому точную цифру по числу строк определить нельзя. VACUUM освобождает место внутри таблицы и иногда обрезает пустой хвост. VACUUM FULL переписывает таблицу с сильной блокировкой; для полного очищения есть TRUNCATE с иной семантикой. Для другой СУБД детали могут отличаться.

Источник: www.postgresql.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее