Różnica Między Upuszczaniem A Obcięciem

Różnica Między Upuszczaniem A Obcięciem
Różnica Między Upuszczaniem A Obcięciem

Wideo: Różnica Między Upuszczaniem A Obcięciem

Wideo: Różnica Między Upuszczaniem A Obcięciem
Wideo: RÓŻNICA MIĘDZY PIŁKARZEM ZAWODOWCEM A AMATOREM 2024, Kwiecień
Anonim

Upuść vs Obetnij

Drop i Truncate to dwie instrukcje SQL (Structured Query Language) używane w systemach zarządzania bazami danych, w których chcemy usunąć rekordy danych z bazy danych. Instrukcje Drop i Truncate usuwają całe dane w tabeli i powiązaną instrukcję SQL. Operacja usuwania nie jest skuteczna w tym przypadku, ponieważ wykorzystuje więcej miejsca do przechowywania niż operacja Usuń i Obetnij.

W przypadku, gdy chcemy odrzucić tabelę w bazie danych wraz ze wszystkimi jej danymi, SQL pozwala nam to łatwo wykonać za pomocą instrukcji Drop. Polecenie Drop jest poleceniem DDL (Data Definition Language) i można go użyć do zniszczenia istniejącej bazy danych, tabeli, indeksu lub widoku. Usuwa wszystkie informacje w tabeli, a także strukturę tabeli z bazy danych. Możemy również chcieć po prostu pozbyć się wszystkich danych w tabeli, ale bez tabeli, a w takim scenariuszu możemy użyć instrukcji Truncate w SQL. Truncate jest również poleceniem DDL i eliminuje wszystkie wiersze w tabeli, ale zachowuje tę samą definicję tabeli do wykorzystania w przyszłości.

Upuść polecenie

Jak wspomniano wcześniej, polecenie Drop usuwa definicję tabeli i wszystkie jej dane, ograniczenia integralności, indeksy, wyzwalacze i uprawnienia dostępu, które zostały utworzone w tej konkretnej tabeli. Więc całkowicie usuwa istniejący obiekt z bazy danych, a relacje z innymi tabelami również nie będą już ważne po wykonaniu polecenia. Usuwa również wszystkie informacje o tabeli ze słownika danych. Poniżej przedstawiono typową składnię używania instrukcji Drop w tabeli.

DROP TABLE

Musimy po prostu zastąpić nazwę tabeli, którą chcemy usunąć z bazy danych w powyższym przykładzie polecenia Drop.

Należy zwrócić uwagę, że instrukcja Drop nie może być używana do usuwania tabeli, do której odwołuje się już ograniczenie klucza obcego. W takim przypadku należy najpierw usunąć odwołujące się ograniczenie klucza obcego lub tę konkretną tabelę. Ponadto instrukcji Drop nie można zastosować do tabel systemowych w bazie danych.

Ponieważ polecenie Drop jest instrukcją automatycznego zatwierdzania, uruchomionej operacji nie można wycofać i żadne wyzwalacze nie zostaną uruchomione. Gdy tabela zostanie usunięta, wszystkie odwołania do tabeli nie będą prawidłowe, a więc jeśli chcemy ponownie z niej skorzystać, należy ją odtworzyć z wszystkimi ograniczeniami integralności i uprawnieniami dostępu. Wszystkie relacje z innymi tabelami również muszą zostać ponownie zlokalizowane.

Obetnij polecenie

Polecenie obcinania jest poleceniem DDL i usuwa wszystkie wiersze w tabeli bez żadnych warunków określonych przez użytkownika oraz zwalnia miejsce używane przez tabelę, ale struktura tabeli z jej kolumnami, indeksami i ograniczeniami pozostaje taka sama. Obcięcie eliminuje dane z tabeli przez cofnięcie przydziału stron danych używanych do przechowywania danych tabeli, a tylko te zwolnienia stron są przechowywane w dzienniku transakcji. Dlatego wykorzystuje mniej zasobów dziennika transakcji i zasobów systemowych w porównaniu z innymi powiązanymi poleceniami SQL, takimi jak Usuń. Tak więc Truncate jest nieco szybszą instrukcją niż inne. Poniżej przedstawiono typową składnię polecenia Obetnij.

TABELA PRAWIDŁOWA

Nazwę tabeli, z której chcemy usunąć całe dane, należy zamienić w powyższej składni.

Obcięcie nie może być używane w tabeli, do której odwołuje się ograniczenie klucza obcego. Używa zatwierdzenia automatycznie przed wykonaniem działania i kolejnego zatwierdzenia później, więc wycofanie transakcji jest niemożliwe i nie są uruchamiane żadne wyzwalacze. Jeśli chcemy ponownie użyć tabeli, wystarczy nam uzyskać dostęp do istniejącej definicji tabeli w bazie danych.

Jaka jest różnica między Drop i Truncate?

Zarówno polecenia Drop, jak i Truncate są poleceniami DDL, a także instrukcjami automatycznego zatwierdzania, więc transakcji wykonanych za pomocą tych poleceń nie można wycofać.

Podstawowa różnica między Drop i Truncate polega na tym, że polecenie Drop usuwa nie tylko wszystkie dane w tabeli, ale także trwale usuwa strukturę tabeli z bazy danych wraz ze wszystkimi odniesieniami, podczas gdy polecenie Truncate usuwa tylko wszystkie wiersze w tabeli i zachowuje strukturę tabeli i jej odniesienia.

Jeśli tabela zostanie usunięta, relacje z innymi tabelami nie będą już prawidłowe, a ograniczenia integralności i uprawnienia dostępu również zostaną usunięte. Więc jeśli tabela ma być ponownie wykorzystana, należy ją zrekonstruować z uwzględnieniem relacji, ograniczeń integralności, a także uprawnień dostępu. Ale jeśli tabela zostanie obcięta, struktura tabeli i jej ograniczenia pozostają do wykorzystania w przyszłości, więc żadne z powyższych odtworzeń nie jest wymagane do ponownego użycia.

Po zastosowaniu tych poleceń musimy zachować ostrożność, aby ich używać. Powinniśmy również lepiej zrozumieć naturę tych poleceń, sposób ich działania, a także starannie zaplanować je przed ich użyciem, aby uniknąć pominięcia podstawowych elementów. Wreszcie, oba te polecenia mogą być używane do szybkiego i łatwego czyszczenia baz danych, zużywając mniej zasobów.

Zalecane: