aaronzeng
УСЕКАТЬ
TRUNCATE-это команда DDL
Усечение выполняется с помощью блокировки таблицы, и вся таблица блокируется для удаления всех записей.
Мы не можем использовать предложение Where с усечением.
Усечение удаляет все строки из таблицы.
Минимальное ведение журнала транзакций, так что это быстрее с точки зрения производительности.
TRUNCATE TABLE удаляет данные, освобождая страницы данных, используемые для хранения табличных данных, и записывает только освобождения страниц в журнал транзакций.
Определение столбца сбрасывается в начальное значение, если таблица содержит столбец идентификаторов.
Чтобы использовать Truncate в таблице, вам нужно, по крайней мере, разрешение ALTER на таблицу.
Truncate использует меньшее пространство транзакций, чем оператор Delete.
Усечение не может использоваться с индексированными представлениями.
УДАЛИТЬ
DELETE-это команда DML.
Удаление выполняется с помощью блокировки строк, каждая строка в таблице блокируется для удаления.
Мы можем использовать предложение where с DELETE для фильтрации и удаления определенных записей.
Команда DELETE используется для удаления строк из таблицы на основе условия WHERE.
Он поддерживает журнал, поэтому он медленнее, чем усечение.
Оператор DELETE удаляет строки по одной и записывает запись в журнал транзакций для каждой удаленной строки.
Идентификатор столбца сохранить удалить сохранить идентичность.
Чтобы использовать Delete, вам нужно разрешение DELETE на таблицу.
Оператор Delete использует больше пространства транзакций, чем оператор Truncate.
Delete можно использовать с индексированными представлениями.