Подтвердить что ты не робот

Разница между Delete и Truncate в sql-сервере. Был ли я неправ...?

В недавнем интервью мне было задано различие между ними. Я ответил генералу, что все, что мы знаем...

Затем собеседник спросил, можно ли отменить усечение? Я ответил нет...

Интервьюер сказал, что он может быть отменен и попросил меня просмотреть детали операции за сценой как удаления, так и усечения и проверить его позже.

Хорошо, я размещаю этот вопрос здесь не только для определения и того, что мы знаем... но чтобы понять его суть. Пролить свет на этот аспект будет очень appricieated...

Заранее спасибо

4b9b3361

Ответ 1

По-видимому, идея о том, что

Ответ 2

Операция truncate освободит все страницы, принадлежащие этой таблице. Эти дезадаптации регистрируются и могут быть отброшены назад. Удалить будет отмечать все строки как удаленные и записывать каждую отдельную строку.

Ответ 3

Truncate можно отбросить, если вы сделаете это прямо сейчас в транзакции. Он не может быть откат позже из журнала транзакций, как при восстановлении базы данных. Проверьте его в транзакции и посмотрите.

Ответ 4

Итак, в конце концов вы можете отбросить Truncate как часть транзакции, но не после того, как ее совершили?