Junior — Middle
Cosa è più veloce: eliminare i dati con il comando DELETE o svuotare la tabella con TRUNCATE?
sobes.tech AI
Risposta dell'AI
Команда TRUNCATE обычно работает быстрее, чем DELETE, когда нужно удалить все данные из таблицы. Это связано с тем, что TRUNCATE не удаляет строки по одной, а быстро очищает всю таблицу, часто сбрасывая страницы данных и не записывая отдельные операции удаления в журнал транзакций.
В отличие от DELETE, который удаляет строки по одной и может вызывать триггеры, TRUNCATE не вызывает триггеры и не может использоваться с условиями WHERE — он удаляет все данные целиком.
Пример:
-- Удаление всех строк (медленнее)
DELETE FROM users;
-- Быстрая очистка таблицы
TRUNCATE TABLE users;
Таким образом, если нужно быстро очистить всю таблицу, лучше использовать TRUNCATE.