Verschil Tussen Verwijderen en Trunceren

Anonim

Verwijderen versus Truncate

Beide SQL (Structure Query Language) commando's, Delete and Truncate worden gebruikt om gegevens die zijn opgeslagen in tabellen in een database te verwijderen. Verwijderen is een DML (Data Manipulation Language) verklaring en het verwijdert enkele of alle rijen van een tabel. De 'Waar clausule' wordt gebruikt om de rijen te specificeren die moeten worden verwijderd, en als de Waar-clausule niet gebruikt wordt met de verwijderverklaring, verwijdert deze alle gegevens in de tabel. Truncate is een DDL (Data Definition Language) verklaring, en verwijdert hele gegevens uit de tabel. Beide deze commando's vernietigen de tabelstructuur en de verwijzingen naar de tabel, en alleen de gegevens worden verwijderd indien nodig.

Verwijder Verklaring

Verwijderde verklaring stelt de gebruiker in staat gegevens uit een bestaande tabel in een database te verwijderen op basis van een opgegeven voorwaarde, en de 'Waar clausule' wordt gebruikt om deze conditie te bepalen. Verwijder commando wordt verwezen als een gelogde uitvoering, omdat het slechts één rij tegelijkertijd verwijdert en een invoer voor elke rijverwijdering in het transactielogboek behoudt. Dit zorgt ervoor dat de werking langzamer wordt. Verwijderen is een DML-verklaring, en dus wordt het niet automatisch gepleegd tijdens het uitvoeren van de opdracht. Daarom kan de verwijderoperatie terug worden gerold om de gegevens weer te openen, indien nodig. Na het uitvoeren van het verwijderen commando, moet het worden aangesloten of teruggerold om de wijzigingen permanent te bewaren. Verwijderde verklaring verwijdert de tabelstructuur van de tabel niet uit de database. Ook verdeelt het de geheugenruimte die door de tabel wordt gebruikt, niet door.

De typische syntaxis voor het verwijderen commando wordt hieronder vermeld.

WISSEN VAN

of

WISSEN VAN WAAR

Verkorte Verklaring

Verkorte Verklaring verwijdert alle gegevens van een bestaande tabel in een database, maar behoudt dezelfde tabelstructuur, ook de integriteitsbeperkingen, toegangsrechten en de relaties met andere tabellen. Het is dus niet nodig om de tabel opnieuw te definiëren en de oude tabelstructuur kan worden gebruikt als de gebruiker de tafel opnieuw wil gebruiken. Truncate verwijdert hele gegevens door de gegevenspagina's te verdelen die gebruikt worden om gegevens te bewaren, en alleen deze paginaverdelingen worden in het transactielogboek opgeslagen. Daarom gebruikt het truncate commando slechts een paar systeem- en transactielog resources voor operation, dus het is sneller dan andere gerelateerde commando's. Truncate is een DDL commando, dus het maakt gebruik van automatische verplichtingen voor en na uitvoering van de verklaring. Vandaar dat de afkorting de gegevens nogmaals niet kan terugrollen. Het vrijgegeven geheugenruimte gebruikt door de tafel na de uitvoering. Maar Truncate statement kan niet worden toegepast op de tabellen die worden verwezen door vreemde sleutelbeperkingen.

Hieronder volgt de algemene syntaxis voor Truncate statement.

TRUNCATE TABLE

Wat is het verschil tussen Delete en Truncate?

1. Verwijder en Afkorting opdrachten verwijderen van gegevens uit bestaande tabellen in een database zonder de tabelstructuur of andere verwijzingen naar de tabel te beschadigen.

2. Verwijder commando kan echter alleen worden gebruikt om specifieke rijen te verwijderen in een tabel met een relevante voorwaarde of om alle rijen zonder conditie te verwijderen, terwijl het commando Truncate alleen kan worden gebruikt om volledige gegevens in de tabel te verwijderen.

3. Verwijderen is een DML commando, en het kan indien nodig de operatie terugzetten, maar Truncate is een DDL commando, dus het is een automatische commit statement en kan niet op een of andere manier worden gerold. Daarom is het belangrijk om dit commando zorgvuldig te gebruiken in database management.

4. Afkorting operatie verbruikt minder systeembronnen en transactie log resources dan de Delete-operatie, daarom wordt Truncate beschouwd als sneller dan Verwijderen.

5. Ook verwijdert de Verwijdering niet de ruimte die door de tabel wordt gebruikt, terwijl Truncate de gebruikte ruimte vrijlaat na de uitvoering. Zo is Verwijderen niet efficiënt als u de gehele gegevens uit een databasetabel verwijdert.

6. Truncate mag echter niet gebruiken als de tabel wordt verwezen door een vreemde sleutelbeperking, en in dat geval kan de opdracht Verwijderen in plaats van Truncate worden gebruikt.

7. Ten slotte hebben beide commando's voordelen en nadelen bij het toepassen ervan in Database Management Systems en de gebruiker moet zich ervan bewust zijn dat deze commando's op passende wijze gebruikt worden om goede resultaten te behalen.