Junior — Middle
Ma'lumotlar bazasidagi jadvaldan ma'lumotlarni o'chirishda DELETE va TRUNCATE buyruqlarining natijalari qanday farq qiladi?
sobes.tech AI
AIdan javob
Основные отличия между командами DELETE и TRUNCATE в SQL:
-
DELETE:
- Удаляет строки из таблицы по условию (если указано), или все строки, если условие отсутствует.
- Операция логируется построчно, что позволяет откатить изменения (транзакции).
- Триггеры на удаление (DELETE triggers) срабатывают.
- После удаления можно использовать
WHEREдля выборочного удаления.
-
TRUNCATE:
- Удаляет все строки из таблицы целиком.
- Обычно работает быстрее, так как не логирует удаление каждой строки, а просто освобождает страницы данных.
- Не срабатывают триггеры на удаление.
- Не поддерживает условие
WHERE. - Может сбрасывать счетчики автоинкремента.
В итоге, DELETE более гибкий и безопасный для выборочного удаления, а TRUNCATE — быстрый способ полностью очистить таблицу.