Unterschied Zwischen Löschen Und Abschneiden

Unterschied Zwischen Löschen Und Abschneiden
Unterschied Zwischen Löschen Und Abschneiden

Video: Unterschied Zwischen Löschen Und Abschneiden

Video: Unterschied Zwischen Löschen Und Abschneiden
Video: 12 Fehler, die Sie beim Hecke schneiden vermeiden sollten 2024, March
Anonim

Löschen vs Abschneiden

Beide SQL-Befehle (Structure Query Language), Delete und Truncate, werden verwendet, um Daten zu entfernen, die in Tabellen in einer Datenbank gespeichert sind. Löschen ist eine DML-Anweisung (Data Manipulation Language), mit der einige oder alle Zeilen einer Tabelle entfernt werden. Die 'Where-Klausel' wird verwendet, um die Zeilen anzugeben, die gelöscht werden müssen. Wenn die Where-Klausel nicht mit der Delete-Anweisung verwendet wird, werden alle Daten in der Tabelle entfernt. Truncate ist eine DDL-Anweisung (Data Definition Language) und entfernt ganze Daten aus der Tabelle. Beide Befehle zerstören nicht die Tabellenstruktur und die Verweise auf die Tabelle, und nur die Daten werden nach Bedarf entfernt.

Anweisung löschen

Mit der Delete-Anweisung kann der Benutzer Daten aus einer vorhandenen Tabelle in einer Datenbank basierend auf einer angegebenen Bedingung entfernen, und die 'Where-Klausel' wird zum Bestimmen dieser Bedingung verwendet. Der Befehl Löschen wird als protokollierte Ausführung bezeichnet, da jeweils nur eine Zeile gelöscht wird und ein Eintrag für jede Zeilenlöschung im Transaktionsprotokoll gespeichert wird. Dies führt zu einer Verlangsamung des Betriebs. Löschen ist eine DML-Anweisung und wird daher beim Ausführen des Befehls nicht automatisch festgeschrieben. Daher kann der Löschvorgang bei Bedarf zurückgesetzt werden, um erneut auf die Daten zuzugreifen. Nach der Ausführung des Befehls Löschen sollte dieser festgeschrieben oder zurückgesetzt werden, um Änderungen dauerhaft zu speichern. Die Anweisung delete entfernt die Tabellenstruktur der Tabelle nicht aus der Datenbank. Außerdem wird der von der Tabelle verwendete Speicherplatz nicht freigegeben.

Die typische Syntax für den Befehl Löschen ist unten angegeben.

LÖSCHEN VON

oder

LÖSCHEN VON WO

Anweisung abschneiden

Die Anweisung "Abschneiden" entfernt alle Daten aus einer vorhandenen Tabelle in einer Datenbank, behält jedoch dieselbe Tabellenstruktur bei, auch die Integritätsbeschränkungen, Zugriffsrechte und die Beziehungen zu anderen Tabellen. Es ist also nicht erforderlich, die Tabelle erneut zu definieren, und die alte Tabellenstruktur kann verwendet werden, wenn der Benutzer die Tabelle erneut verwenden möchte. Beim Abschneiden werden ganze Daten entfernt, indem die zum Speichern von Daten verwendeten Datenseiten freigegeben werden. Nur diese Seitenfreigaben werden im Transaktionsprotokoll gespeichert. Daher verwendet der Befehl zum Abschneiden nur weniger System- und Transaktionsprotokollressourcen für den Betrieb, sodass er schneller als andere verwandte Befehle ist. Truncate ist ein DDL-Befehl und verwendet daher automatische Verpflichtungen vor und nach der Ausführung der Anweisung. Daher kann das Abschneiden die Daten in keiner Weise erneut zurücksetzen. Es gibt Speicherplatz frei, der von der Tabelle nach der Ausführung verwendet wird. Die Anweisung "Abschneiden" kann jedoch nicht auf Tabellen angewendet werden, auf die durch Fremdschlüsseleinschränkungen verwiesen wird.

Im Folgenden finden Sie die allgemeine Syntax für die Anweisung Truncate.

TRUNCATE TABLE

Was ist der Unterschied zwischen Löschen und Abschneiden?

1. Befehle zum Löschen und Abschneiden entfernen Daten aus vorhandenen Tabellen in einer Datenbank, ohne die Tabellenstruktur oder andere Verweise auf die Tabelle zu beschädigen.

2. Der Befehl Löschen kann jedoch verwendet werden, um bestimmte Zeilen nur in einer Tabelle unter Verwendung einer relevanten Bedingung zu löschen oder um alle Zeilen ohne Bedingung zu löschen, während der Befehl Abschneiden nur zum Löschen ganzer Daten in der Tabelle verwendet werden kann.

3. Löschen ist ein DML-Befehl und kann den Vorgang bei Bedarf zurücksetzen. Abschneiden ist jedoch ein DDL-Befehl. Es handelt sich also um eine automatische Festschreibungsanweisung, die in keiner Weise zurückgesetzt werden kann. Daher ist es wichtig, diesen Befehl bei der Datenbankverwaltung sorgfältig zu verwenden.

4. Der Vorgang "Abschneiden" verbraucht weniger Systemressourcen und Transaktionsprotokollressourcen als der Vorgang "Löschen". Daher wird "Abschneiden" als schneller als "Löschen" angesehen.

5. Außerdem gibt Delete keinen von der Tabelle verwendeten Speicherplatz frei, während Truncate den nach der Ausführung verwendeten Speicherplatz freigibt, sodass Delete nicht effizient ist, wenn die gesamten Daten aus einer Datenbanktabelle gelöscht werden.

6. Truncate darf jedoch nicht verwendet werden, wenn auf die Tabelle durch eine Fremdschlüsseleinschränkung verwiesen wird. In diesem Fall kann der Befehl Delete anstelle von Truncate verwendet werden.

7. Schließlich haben beide Befehle Vor- und Nachteile bei der Anwendung in Datenbankverwaltungssystemen, und der Benutzer sollte sich bewusst sein, dass diese Befehle ordnungsgemäß verwendet werden, um gute Ergebnisse zu erzielen.

Empfohlen: