Verschil tussen verwijderen en afkappen

Verwijderen versus afkappen

Beide SQL-opdrachten (Structure Query Language), Delete en Truncate worden gebruikt om gegevens te verwijderen die zijn opgeslagen in tabellen in een database. Verwijderen is een DML-instructie (Data Manipulation Language) en verwijdert enkele of alle rijen van een tabel. De 'Where-component' wordt gebruikt om de rijen op te geven die moeten worden verwijderd en als de Where-component niet wordt gebruikt met de instructie Delete, worden alle gegevens in de tabel verwijderd. Truncate is een DDL-instructie (Data Definition Language) en verwijdert de volledige gegevens uit de tabel. Beide opdrachten vernietigen de tabelstructuur en de verwijzingen naar de tabel niet en alleen de gegevens worden verwijderd als dat nodig is.

Verklaring verwijderen

Met de instructie Delete kan de gebruiker gegevens uit een bestaande tabel in een database verwijderen op basis van een opgegeven voorwaarde, en de 'Where-component' wordt gebruikt om deze voorwaarde te bepalen. Delete-opdracht wordt een afgemelde uitvoering genoemd omdat het slechts één rij per keer verwijdert en een item voor elke rijverwijdering in het transactielogboek bijhoudt. Dit zorgt er dus voor dat de bewerking langzamer verloopt. Verwijderen is een DML-instructie en wordt daarom niet automatisch vastgelegd tijdens het uitvoeren van de opdracht. Daarom kan de verwijderbewerking worden teruggedraaid om de gegevens opnieuw te openen, indien nodig. Nadat de opdracht Verwijderen is uitgevoerd, moet deze worden vastgelegd of teruggedraaid om de wijzigingen permanent op te slaan. Wisinstructie verwijdert de tabelstructuur van de tabel niet uit de database. Ook wordt de geheugenruimte die door de tabel wordt gebruikt niet vrijgesproken.

De typische syntaxis voor het verwijderen van de opdracht staat hieronder.

VERWIJDEREN VAN

of

VERWIJDEREN WAAROM

Truncate Statement

Truncate-instructie verwijdert alle gegevens uit 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 tabel opnieuw wil gebruiken. Truncate verwijdert volledige gegevens door de gegevenspagina's die worden gebruikt om gegevens te bewaren, niet meer te delen en alleen deze paginaverwijzingen worden bewaard in het transactielogboek. Daarom gebruiken truncate-commando's slechts een minder systeem- en transactielogboekmiddelen voor de werking, dus het is sneller dan andere gerelateerde opdrachten. Truncate is een DDL-opdracht, dus het gebruikt automatische toezeggingen voor en na uitvoering van de instructie. Daarom kan afkappen de gegevens op geen enkele manier terugdraaien. Het geeft geheugenruimte vrij die wordt gebruikt door de tabel na de uitvoering. Maar de instructie Truncate kan niet worden toegepast op de tabellen waarnaar wordt verwezen door beperkingen van buitenlandse sleutels.

Hieronder volgt de algemene syntaxis voor Truncate-instructie.

AFHANDELINGSTAFEL

Wat is het verschil tussen Verwijderen en Trunceren?

1. Delete- en Truncate-opdrachten verwijderen gegevens uit bestaande tabellen in een database zonder de tabelstructuur of andere verwijzingen naar de tabel te schaden.

2. De opdracht Delete kan echter worden gebruikt om specifieke rijen in een tabel te verwijderen met een relevante voorwaarde of om alle rijen zonder enige voorwaarde te verwijderen, terwijl de opdracht Truncate alleen kan worden gebruikt voor het verwijderen van volledige gegevens in de tabel.

3. Verwijderen is een DML-opdracht en kan indien nodig de bewerking terugdraaien, maar Trunceren is een DDL-opdracht, dus het is een automatische commit-instructie en kan op geen enkele manier worden teruggedraaid. Het is dus belangrijk om deze opdracht zorgvuldig te gebruiken in databasebeheer.

4. Afkappen vergt minder systeembronnen en transactielogboeken dan de verwijderingsbewerking, daarom wordt Trunceren beschouwd als sneller dan Verwijderen.

5. Wissen ontkent niet de ruimte die door de tabel wordt gebruikt, terwijl Truncate de ruimte vrijmaakt die na de uitvoering wordt gebruikt, dus Verwijderen is niet efficiënt in het geval van het verwijderen van de volledige gegevens uit een databasetabel.

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

7. Ten slotte hebben beide opdrachten voordelen en ook nadelen bij het toepassen ervan in databasebeheersystemen en de gebruiker moet zich bewust zijn van het gepast gebruiken van deze opdrachten om goede resultaten te bereiken..