Падіння проти усікання

Drop and Truncate - це два оператори SQL (Structured Query Language), які використовуються в системах управління базами даних, де ми хочемо видалити записи даних із бази даних. І оператори Drop, і Truncate видаляють всі дані в таблиці та пов'язаний з ними оператор SQL. Операція видалення не ефективна в цьому випадку, оскільки вона використовує більше місця для зберігання, ніж Drop and Truncate.

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

Команда скидання

Як було сказано раніше, команда Drop видаляє визначення таблиці та всі її дані, обмеження цілісності, індекси, тригери та права доступу, що було створено саме в цій таблиці. Таким чином, він повністю скидає існуючий об’єкт із бази даних, і відносини до інших таблиць також більше не діють після виконання команди. Також він видаляє всю інформацію про таблицю зі словника даних. Далі йде типовий синтаксис використання оператора Drop на таблиці.

ДРОПІЛЬНИЙ СТОЛ

Ми повинні просто замінити ім’я таблиці, яке ми хочемо видалити з бази даних у наведеному вище прикладі команди Drop.

Важливо зазначити, що оператор Drop не може бути використаний для видалення таблиці, на яку вже посилається обмеження закордонного ключа. У такому випадку спочатку слід скасувати обмежувальний зовнішній ключ або цю конкретну таблицю. Також оператор Drop не може бути застосований до системних таблиць у базі даних.

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

Команда обрізати

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

ТРУНКОВА ТАБЛИЦА

У вищенаведеному синтаксисі слід замінити назву таблиці, з якої ми хочемо видалити всі дані.

Обрізання не можна використовувати в таблиці, на яку посилається обмеження іноземного ключа. Він використовує автоматичне зобов’язання перед тим, як діяти, а інший фіксує згодом, тому відкат транзакції неможливий, і тригери не запускаються. Якщо ми хочемо повторно використовувати таблицю, нам потрібно лише отримати доступ до існуючого визначення таблиці в базі даних.

Яка різниця між Drop та Truncate?

І команди Drop, і Truncate є командами DDL, а також автоматично фіксують операції, тому транзакції, виконані за допомогою цих команд, не можуть бути повернуті назад.

Основна відмінність між Drop та Truncate полягає в тому, що команда Drop видаляє не тільки всі дані в таблиці, але й назавжди видаляє структуру таблиці з бази даних з усіма посиланнями, тоді як команда Truncate видаляє лише всі рядки таблиці , і він зберігає структуру таблиці та її посилання.

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

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