Drop vs Truncate

Drop and Truncate са две SQL (Structured Query Language) оператори, които се използват в Системите за управление на бази данни, където искаме да премахнем записи от данни от база данни. И двете оператори Drop и Truncate премахват цялата информация в таблица и свързания SQL оператор. Операцията за изтриване в този случай не е ефективна, защото използва повече пространства за съхранение от Drop and Truncate.

В случай, че ако искаме да изхвърлим таблица в база данни заедно с всичките й данни, SQL ни позволява лесно да изпълняваме това с помощта на оператор Drop. Командата Drop е DDL (Data Definition Language) команда и може да се използва за унищожаване на съществуваща база данни, таблица, индекс или изглед. Изтрива цялата информация в таблица, както и структурата на таблицата от базата данни. Също така може да пожелаем да се отървем от всички данни в таблица просто, но без таблицата и можем да използваме оператор Truncate в SQL в такъв сценарий. Truncate е също команда DDL и тя елиминира всички редове в таблицата, но запазва дефиницията на таблицата същата за бъдеща употреба.

Команда за пускане

Както бе споменато по-рано, командата Drop премахва дефиницията на таблицата и всички нейни данни, ограничения за целостта, индекси, тригери и права на достъп, която е създадена на тази конкретна таблица. Така той изпуска изцяло съществуващия обект от базата данни и връзките към други таблици също вече няма да бъдат валидни след изпълнение на командата. Също така премахва цялата информация за таблицата от речника на данните. Следва типичният синтаксис за използване на оператора Drop на таблица.

ПАДАЙТЕ ТАБЛИЦА

Трябва просто да заменим името на таблицата, което искаме да премахнем от базата данни в горния пример за команда Drop.

Важно е да се отбележи, че операторът Drop не може да се използва за изтриване на таблица, към която вече е посочено ограничение от чужд ключ. В този случай първо трябва да се откаже препращащото ограничение на чужд ключ или тази конкретна таблица. Също така, оператор Drop не може да се приложи върху системните таблици в базата данни.

Тъй като командата Drop е декларация за автоматично фиксиране, веднъж задействаната операция не може да бъде върната назад и няма да бъдат задействани тригери. При отпадане на таблица всички препратки към таблицата няма да бъдат валидни и затова, ако искаме да използваме таблицата отново, тя трябва да бъде пресъздадена с всички ограничения за целостта и привилегии за достъп. Всички връзки към другите таблици също трябва да бъдат разположени отново.

Отрязване на команда

Командата на съкращаване е команда DDL и премахва всички редове в таблицата без никакви зададени от потребителя условия и освобождава пространството, използвано от таблицата, но структурата на таблицата със своите колони, индекси и ограничения остава същата. Прекъсването елиминира данните от таблица чрез разместване на страниците с данни, използвани за съхраняване на данните от таблицата, и само тези транслокации на страници се съхраняват в дневника на транзакциите. Така че той използва по-малко ресурси на журнала за транзакции и системни ресурси в сравнение с други свързани SQL команди като Delete. Така Truncate е малко по-бързо изявление от другите. Следва типичният синтаксис за команда „Отрязване“.

ТРУНЦАТА ТАБЛИЦА

Трябва да заменим името на таблицата, от което искаме да премахнем всички данни, в горния синтаксис.

Отрязването не може да се използва на таблица, на която е направено препратка от чужд ключ. Той използва автоматично ангажиране, преди да действа, и друг ангажимент след това, така че прехвърлянето на транзакцията е невъзможно и не се задействат задействания. Ако искаме да използваме отново таблицата, трябва само да получим достъп до съществуващата дефиниция на таблицата в базата данни.

Каква е разликата между Drop и Truncate?

Както командите Drop, така и Truncate са DDL команди, а също и автоматично запис на операции, така че транзакциите, извършени с помощта на тези команди, не могат да бъдат върнати обратно.

Основната разлика между Drop и Truncate е, че командата Drop премахва не само всички данни в таблица, но и премахва трайно структурата на таблицата от базата данни с всички препратки, докато командата Truncate премахва само всички редове в таблица , и запазва структурата на таблицата и нейните препратки.

Ако таблицата бъде отпаднала, връзките към други таблици вече няма да бъдат валидни и ограниченията за целостта и привилегиите за достъп също ще бъдат премахнати. Така че, ако таблицата е необходима за повторно използване, тя трябва да бъде реконструирана с връзките, ограниченията на целостта, а също и привилегиите за достъп. Но ако една таблица е отрязана, структурата на таблицата и нейните ограничения остават за бъдеща употреба и така, всяко от горните рекреации не се изисква за повторно използване.

Когато се прилагат тези команди, трябва да сме предпазливи да ги използваме. Също така, трябва да имаме по-добро разбиране за същността на тези команди, как работят, а също и внимателно планиране, преди да ги използваме, за да предотвратим липса на основни неща. И накрая, и двете команди могат да се използват за бързо и лесно почистване на базите данни, като се изразходват по-малко ресурси.