Разница между удалением и усечением

Удалить против усечения

Обе команды SQL (Structure Query Language), Delete и Truncate, используются для избавления от данных, хранящихся в таблицах в базе данных. Delete - это оператор DML (Data Manipulation Language), который удаляет некоторые или все строки таблицы. Условие «Где» используется для указания строк, которые необходимо удалить, и если предложение «Где» не используется с оператором Delete, оно удаляет все данные в таблице. Truncate - это оператор DDL (Data Definition Language), который удаляет все данные из таблицы. Обе эти команды не разрушают структуру таблицы и ссылки на таблицу, и только данные удаляются по мере необходимости.

Удалить заявление

Оператор Delete позволяет пользователю удалять данные из существующей таблицы в базе данных на основе заданного условия, а для определения этого условия используется пункт «Где». Команда удаления называется зарегистрированным выполнением, поскольку она удаляет только одну строку за раз и сохраняет запись для каждого удаления строки в журнале транзакций. Таким образом, это приводит к замедлению работы. Delete - это оператор DML, поэтому он не фиксируется автоматически при выполнении команды. Таким образом, операция удаления может быть отменена для повторного доступа к данным, если это необходимо. После выполнения команды Delete ее следует зафиксировать или откатить, чтобы сохранить изменения навсегда. Оператор Delete не удаляет структуру таблицы из базы данных. Также это не освобождает пространство памяти, используемое таблицей.

Типичный синтаксис команды Delete указан ниже.

УДАЛИТЬ ИЗ

или

УДАЛИТЬ ОТ ГДЕ

Сокращенное заявление

Оператор Truncate удаляет все данные из существующей таблицы в базе данных, но сохраняет ту же структуру таблиц, а также ограничения целостности, права доступа и отношения с другими таблицами. Таким образом, не требуется снова определять таблицу, и можно использовать старую структуру таблицы, если пользователь хочет снова использовать таблицу. Truncate удаляет все данные, освобождая страницы данных, используемые для хранения данных, и только эти освобождения страниц хранятся в журнале транзакций. Поэтому команда truncate использует для работы только меньшее количество ресурсов системы и журнала транзакций, поэтому она работает быстрее, чем другие связанные команды. Truncate - это команда DDL, поэтому она использует автоматические обязательства до и после выполнения оператора. Следовательно, усечение никак не может откатить данные. Это освобождает пространство памяти, используемое таблицей после выполнения. Но оператор Truncate не может быть применен к таблицам, на которые ссылаются ограничения внешнего ключа.

Ниже приведен общий синтаксис оператора Truncate..

TRUNCATE TABLE

В чем разница между удалением и усечением?

1. Команды Delete и Truncate удаляют данные из существующих таблиц в базе данных без ущерба для структуры таблицы или других ссылок на таблицу..

2. Однако команда Удалить может использоваться для удаления определенных строк только в таблице с использованием соответствующего условия или для удаления всех строк без каких-либо условий, в то время как команда Truncate может использоваться только для удаления всех данных в таблице..

3. Delete - это команда DML, и она может откатить операцию, если это необходимо, но Truncate - это команда DDL, поэтому это оператор автоматической фиксации, который не может быть отменен каким-либо образом. Поэтому важно аккуратно использовать эту команду в управлении базой данных.

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

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

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

7. Наконец, обе эти команды имеют свои преимущества, а также недостатки в применении их в системах управления базами данных, и пользователь должен знать, как правильно использовать эти команды для достижения хороших результатов..