Verschil Tussen Verwijderen En Afkappen

Verschil Tussen Verwijderen En Afkappen
Verschil Tussen Verwijderen En Afkappen

Video: Verschil Tussen Verwijderen En Afkappen

Video: Verschil Tussen Verwijderen En Afkappen
Video: Vloer vernieuwen 2024, April
Anonim

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. Delete is een DML-instructie (Data Manipulation Language) en verwijdert enkele of alle rijen van een tabel. De 'Where-clausule' wordt gebruikt om de rijen op te geven die moeten worden verwijderd, en als de Where-component niet wordt gebruikt met de Delete-instructie, worden alle gegevens in de tabel verwijderd. Truncate is een DDL-instructie (Data Definition Language) en verwijdert alle 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.

Statement verwijderen

Met de Delete-instructie kan de gebruiker gegevens uit een bestaande tabel in een database verwijderen op basis van een gespecificeerde voorwaarde, en de 'Where-clausule' wordt gebruikt om deze voorwaarde te bepalen. Een verwijderopdracht wordt een gelogde uitvoering genoemd, omdat het slechts één rij tegelijk verwijdert en een vermelding voor elke rijverwijdering in het transactielogboek bijhoudt. Dit zorgt er dus voor dat de operatie langzamer wordt. Delete is een DML-instructie en wordt dus niet automatisch vastgelegd tijdens het uitvoeren van de opdracht. Daarom kan de verwijderbewerking worden teruggedraaid om indien nodig opnieuw toegang te krijgen tot de gegevens. Na uitvoering van het Delete-commando, moet het worden vastgelegd of teruggedraaid om wijzigingen permanent op te slaan. Delete-instructie verwijdert de tabelstructuur van de tabel niet uit de database. Ook wordt de geheugenruimte die door de tabel wordt gebruikt, niet ongedaan gemaakt.

De typische syntaxis voor de opdracht Verwijderen wordt hieronder vermeld.

VERWIJDEREN UIT

of

VERWIJDEREN VAN WAAR

Verklaring afkappen

De 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 toewijzing van de gegevenspagina's die worden gebruikt om gegevens bij te houden ongedaan te maken, en alleen deze toewijzingen van pagina's worden bewaard in het transactielogboek. Daarom gebruikt de opdracht truncate slechts een kleiner aantal systeem- en transactielogboekbronnen voor de bewerking, 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 truncate de gegevens op geen enkele manier terugdraaien. Het maakt geheugenruimte vrij die door de tabel wordt gebruikt na de uitvoering. Maar de instructie Truncate kan niet worden toegepast op de tabellen waarnaar wordt verwezen door externe sleutelbeperkingen.

Hieronder volgt de algemene syntaxis voor de instructie Truncate.

TRUNCATE TAFEL

Wat is het verschil tussen Delete en Truncate?

1. Met de opdrachten Verwijderen en Afkappen worden gegevens verwijderd uit bestaande tabellen in een database zonder de tabelstructuur of andere verwijzingen naar de tabel te beschadigen.

2. De opdracht Verwijderen kan echter worden gebruikt om specifieke rijen alleen 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 om volledige gegevens in de tabel te verwijderen.

3. Delete is een DML-commando en het kan de bewerking indien nodig ongedaan maken, maar Truncate is een DDL-commando, dus het is een auto-commit-instructie en kan op geen enkele manier worden teruggedraaid. Het is dus belangrijk om deze opdracht zorgvuldig te gebruiken bij databasebeheer.

4. De afkappingsbewerking verbruikt minder systeembronnen en transactielogboekbronnen dan de bewerking Verwijderen. Daarom wordt Afkappen als sneller beschouwd dan Verwijderen.

5. Delete maakt de ruimte die door de tabel wordt gebruikt ook niet ongedaan, terwijl Truncate de ruimte vrijmaakt die na uitvoering wordt gebruikt. Verwijderen is dus niet efficiënt in het geval dat de volledige gegevens uit een databasetabel worden verwijderd.

6. Truncate mag echter niet worden gebruikt 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 commando's voor- en nadelen bij de toepassing ervan in databasebeheersystemen en de gebruiker moet zich ervan bewust zijn deze commando's op de juiste manier te gebruiken om goede resultaten te bereiken.

Aanbevolen: