Sobes.tech
Junior — Middle
101

Что быстрее — удаление данных с помощью команды DELETE или очистка таблицы через TRUNCATE?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

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

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

Пример:

-- Удаление всех строк (медленнее)
DELETE FROM users;

-- Быстрая очистка таблицы
TRUNCATE TABLE users;

Таким образом, если нужно быстро очистить всю таблицу, лучше использовать TRUNCATE.