Базы данных / SQL middle
В чём разница: DELETE vs TRUNCATE?
Ответ
DELETE — построчное удаление с триггерами и WAL, можно откатить в транзакции. TRUNCATE — быстрая очистка целиком, сбрасывает счётчики автоинкремента.
Разбор: DELETE удаляет строки по одной, активирует триггеры, пишет каждую строку в журнал и откатывается внутри транзакции; TRUNCATE — операция уровня DDL, очищающая таблицу целиком быстро, не вызывающая построчных триггеров и сбрасывающая счётчики автоинкремента. Дистракторы меняют поведение местами (медленный TRUNCATE, откатываемость, триггеры) и путают DELETE с DROP — DELETE никогда не удаляет саму структуру таблицы.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.