Чем отличается DELETE от TRUNCATE?

Ответ

DELETE — построчное удаление с триггерами и логированием, может быть откачено в транзакции. TRUNCATE — быстрая очистка таблицы целиком, обнуляет автоинкремент.

Разбор: DELETE удаляет строки по одной (опционально с WHERE), активирует триггеры, подробно логируется и откатывается в транзакции; TRUNCATE быстро очищает всю таблицу, минуя построчное логирование, и сбрасывает автоинкремент. Ловушки в дистракторах: WHERE и триггеры — это про DELETE, а не TRUNCATE; структуру таблицы и индексы удаляет DROP, а не DELETE.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться