TRUNCATE TABLE ist funktional identisch mit einer DELETE-Anweisung ohne WHERE-Klausel: Beide löschen alle Zeilen in der Tabelle. TRUNCATE TABLE ist jedoch schneller als DELETE und verbraucht weniger System- und Transaktionsprotokollressourcen. Die DELETE-Anweisung löscht jeweils eine Zeile und zeichnet für jede gelöschte Zeile einen Eintrag im Transaktionsprotokoll ein. TRUNCATE TABLE löscht Daten, indem die Datenseiten freigegeben werden, die zur Speicherung der Tabellendaten verwendet werden, und verzeichnet nur die Freigabe der Seiten im Transaktionsprotokoll. TRUNCATE, DELETE, DROP werden zusammengefasst, um zu vergleichen: TABELLE KÜRZEN: Löscht Inhalte, schafft Speicherplatz, löscht aber keine Definitionen. TABELLE LÖSCHEN: Das Löschen von Inhalten löscht nicht die Definition und schafft keinen Speicherplatz. AUFGABETABELLE: Lösche Inhalte und Definitionen, um Platz freizumachen.
Es ist nicht möglich, Zeilen in einer Tabelle zu löschen, mit Trunkunate!
|