Sobes.tech
Junior — Middle
132

Wie unterscheidet sich die Nutzung des Festplattenspeichers bei der Ausführung der Befehle DELETE und TRUNCATE in einer Datenbank?

Unternehmen wurden gefragt
СБЕРСБЕР

Antwort von AI

sobes.tech KI

Команды DELETE и TRUNCATE в базе данных отличаются по работе с дисковым пространством:

  • DELETE удаляет строки по одной, фиксируя каждое удаление в журнале транзакций (лог), что может занимать много времени и места. При этом дисковое пространство обычно не освобождается сразу — удалённые записи помечаются как удалённые, но физически данные остаются, и место может быть переиспользовано.

  • TRUNCATE — это более быстрая операция, которая удаляет все строки из таблицы целиком, обычно освобождая дисковое пространство сразу (в зависимости от СУБД). TRUNCATE не логирует удаление каждой строки, а просто сбрасывает данные, что экономит ресурсы.

Итого, TRUNCATE эффективнее по использованию дискового пространства и скорости, но менее гибок (нельзя использовать с WHERE, не вызывает триггеры). DELETE более универсален, но может приводить к фрагментации и не освобождать место сразу.