В SQL DELETE, TRUNCATE и DROP — это три различные команды для удаления данных, каждая из которых служит разной цели и ведёт себя по-разному с точки зрения производительности и обработки транзакций.
DELETE — это команда DML (Data Manipulation Language), которая используется для удаления конкретных строк из таблицы.
WHERE для фильтрации удаляемых строкTRUNCATE — это команда DDL (Data Definition Language), которая удаляет все строки из таблицы за один раз.
WHERE — она всегда очищает всю таблицуDELETE на больших объёмах данныхDROP — это команда DDL, которая навсегда удаляет всю таблицу из базы данных.
| Функция | DELETE | TRUNCATE | DROP |
|---|---|---|---|
| Удаляет строки | Выборочно | Все | Все |
| Удаляет структуру | Нет | Нет | Да |
| Поддержка отката | Да | Редко | Нет |
| Производительность | Медленнее | Быстрее | Быстрее всего |
DELETE — это DML команда, которая поддерживает WHERE clause и логирует удаление отдельных строк, позволяя выборочно удалять строки с возможностью отката транзакции.
Новый — ещё не проверен сообществом
Вы