Різниця між видаленням і скороченням

Видалити проти усікати

Обидві команди SQL (Мова запиту на структуру), Видалити та Обрізати використовуються для позбавлення від даних, що зберігаються в таблицях бази даних. Видалити - оператор DML (Мова маніпуляції даними), і він видаляє деякі або всі рядки таблиці. Задача "Де" використовується для вказівки рядків, які потрібно видалити, і якщо пункт "Де" не використовується з оператором "Видалення", він видаляє всі дані з таблиці. Truncate - це оператор DDL (Мова визначення даних), і він видаляє цілі дані з таблиці. Обидві ці команди не руйнують структуру таблиці та посилання на таблицю, і видаляються лише дані за потребою.

Видалити заяву

Оператор видалення дозволяє користувачеві видаляти дані з існуючої таблиці в базі даних на основі заданої умови, а пункт "Де" використовується для визначення цієї умови. Команда Delete називається виконанням, що реєструється, оскільки воно видаляє лише один рядок за один раз і зберігає запис для кожного видалення рядка в журналі транзакцій. Отже, це змушує зробити операцію повільнішою. Видалити - це оператор DML, і він не виконується автоматично під час виконання команди. Тому операцію "Видалення" можна повернути, щоб знову отримати доступ до даних, якщо потрібно. Після виконання команди «Видалити» її слід зробити або скасувати назад, щоб назавжди зберегти зміни. Оператор Delete не видаляє структуру таблиці таблиці з бази даних. Крім того, він не займає місце пам'яті, використовуваною таблицею.

Типовий синтаксис для команди Delete наведено нижче.

ВІДКЛЮЧИТИ ВІД

або

ВІДКЛЮЧИТИ ДІЙ

Закріплення заяви

Оператор усічення видаляє всі дані з існуючої таблиці в базі даних, але він зберігає ту саму структуру таблиці, також обмеження цілісності, права доступу та відносини до інших таблиць. Отже, не потрібно визначати таблицю ще раз, і стару структуру таблиці можна використовувати, якщо користувач хоче знову використовувати таблицю. Урізання видаляє цілі дані, розміщуючи сторінки даних, які використовуються для зберігання даних, і лише ці розсилки сторінок зберігаються в журналі транзакцій. Отже, команда обрізання використовує для роботи лише меншу кількість системних ресурсів та журналів транзакцій, тому вона швидша, ніж інші пов'язані команди. Урізати - це команда DDL, тому вона використовує автоматичні зобов'язання до та після виконання оператора. Отже, усічення не може знову повернути дані назад. Він звільняє простір пам'яті, використовуваний таблицею після виконання. Але твердження Truncate не може бути застосоване до таблиць, на які посилаються іноземні ключові обмеження.

Далі йде загальний синтаксис для твердження Truncate.

ТРУНКОВА СТОЛИ

Яка різниця між видаленням і скороченням?

1. Команди видалення та обрізання видаляють дані з існуючих таблиць у базі даних без шкоди для структури таблиці чи інших посилань на таблицю.

2. Однак команда Delete може бути використана для видалення конкретних рядків тільки в таблиці з використанням відповідної умови або для видалення всіх рядків без будь-якої умови, тоді як команда "Урізати" може використовуватися лише для видалення цілих даних у таблиці.

3. Видалити - це команда DML, і вона може відмовити операцію, якщо це необхідно, але Truncate - це команда DDL, тож це оператор автоматичного фіксації і не може бути повернутий жодним чином. Тому важливо ретельно використовувати цю команду в управлінні базами даних.

4. Операція скорочення споживає менше системних ресурсів та ресурсів журналу транзакцій, ніж операція "Видалити", тому "скорочення" вважається швидшою, ніж "Видалити".

5. Також Delete не займає місце, використовуване таблицею, тоді як Truncate звільняє простір, використаний після виконання, тому Delete не є ефективним у разі видалення всіх даних із таблиці бази даних.

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

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