Różnica między usuwaniem a przycinaniem

Różnica między usuwaniem a przycinaniem
Różnica między usuwaniem a przycinaniem

Wideo: Różnica między usuwaniem a przycinaniem

Wideo: Różnica między usuwaniem a przycinaniem
Wideo: Ubuntu Server #2: Połączenie SSH, użytkownicy, grupy, hasła, uprawnienia do plików i katalogów 2024, Lipiec
Anonim

Usuń kontra Obcinanie

Zarówno polecenia SQL (Structure Query Language), Delete, jak i Truncate służą do usuwania danych przechowywanych w tabelach w bazie danych. Delete to instrukcja DML (język manipulacji danymi), która usuwa niektóre lub wszystkie wiersze tabeli. Klauzula „Where” służy do określenia wierszy, które należy usunąć, a jeśli klauzula Where nie jest używana z instrukcją Delete, usuwa wszystkie dane z tabeli. Truncate to instrukcja DDL (język definicji danych), która usuwa całe dane z tabeli. Oba te polecenia nie niszczą struktury tabeli i odniesień do tabeli, a tylko dane są usuwane w razie potrzeby.

Usuń oświadczenie

Instrukcja Delete umożliwia użytkownikowi usunięcie danych z istniejącej tabeli w bazie danych na podstawie określonego warunku, a klauzula „Where” jest używana do określenia tego warunku. Polecenie Delete jest nazywane wykonaniem rejestrowanym, ponieważ usuwa tylko jeden wiersz na raz i zachowuje wpis dla każdego usunięcia wiersza w dzienniku transakcji. Powoduje to spowolnienie działania. Delete to instrukcja DML, więc nie jest automatycznie zatwierdzana podczas wykonywania polecenia. Dlatego operację usuwania można wycofać, aby ponownie uzyskać dostęp do danych, jeśli jest to wymagane. Po wykonaniu polecenia Delete, należy je zatwierdzić lub cofnąć w celu trwałego zapisania zmian. Instrukcja Delete nie usuwa struktury tabeli tabeli z bazy danych. Nie zwalnia również miejsca w pamięci używanego przez tabelę.

Typowa składnia polecenia Usuń jest podana poniżej.

USUŃ Z

lub

USUŃ SKĄD

Skróć instrukcję

Instrukcja Truncate usuwa wszystkie dane z istniejącej tabeli w bazie danych, ale zachowuje tę samą strukturę tabeli, a także ograniczenia integralności, uprawnienia dostępu i relacje z innymi tabelami. Tak więc nie jest wymagane ponowne definiowanie tabeli, a stara struktura tabeli może być użyta, jeśli użytkownik chce ponownie użyć tabeli. Obcinanie usuwa całe dane poprzez cofnięcie alokacji stron danych używanych do przechowywania danych i tylko te cofnięcia alokacji stron są przechowywane w dzienniku transakcji. W związku z tym polecenie obcinania wykorzystuje do działania tylko mniej zasobów systemu i dziennika transakcji, dzięki czemu jest szybsze niż inne powiązane polecenia. Obcięcie jest poleceniem DDL, więc używa automatycznych zobowiązań przed i po wykonaniu instrukcji. W związku z tym truncate nie może w żaden sposób cofnąć danych. Zwalnia przestrzeń pamięci używaną przez tabelę po wykonaniu. Ale instrukcji Truncate nie można zastosować do tabel, do których odwołują się ograniczenia klucza obcego.

Poniższa jest powszechną składnią instrukcji Truncate.

OBCIĄŻ TABELĘ

Jaka jest różnica między usuwaniem a przycinaniem?

1. Polecenia Usuń i Obtnij usuwają dane z istniejących tabel w bazie danych bez szkody dla struktury tabeli lub innych odniesień do tabeli.

2. Jednak polecenie Usuń może być użyte do usunięcia tylko określonych wierszy w tabeli przy użyciu odpowiedniego warunku lub do usunięcia wszystkich wierszy bez żadnego warunku, podczas gdy polecenie Obetnij może być użyte tylko do usunięcia całych danych z tabeli.

3. Delete jest poleceniem DML i może w razie potrzeby wycofać operację, ale Truncate jest poleceniem DDL, więc jest to instrukcja automatycznego zatwierdzania i nie można jej w żaden sposób wycofać. Dlatego ważne jest, aby używać tego polecenia ostrożnie w zarządzaniu bazą danych.

4. Operacja przycinania zużywa mniej zasobów systemowych i zasobów dziennika transakcji niż operacja usuwania, dlatego przycinanie jest uważane za szybsze niż usuwanie.

5. Ponadto Delete nie zwalnia miejsca używanego przez tabelę, podczas gdy Obcinanie zwalnia miejsce używane po wykonaniu, więc Delete nie jest wydajny w przypadku usunięcia wszystkich danych z tabeli bazy danych.

6. Jednak obcięcie nie może być używane, gdy do tabeli odwołuje się ograniczenie klucza obcego iw takim przypadku zamiast obcinania można użyć polecenia Usuń.

7. Wreszcie, oba te polecenia mają zalety, a także wady w stosowaniu ich w systemach zarządzania bazami danych, a użytkownik powinien być świadomy korzystania z tych poleceń w odpowiedni sposób, aby osiągnąć dobre wyniki.

Zalecana: