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: File Transfer Protocols (FTP-TFTP-SFTP-SCP) 2024, November
Anonim

Verwijderen vs Truncate

Beide SQL-commando's (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 volledige gegevens uit de tabel. Beide commando's vernietigen de tabelstructuur en de verwijzingen naar de tabel niet, en alleen de gegevens worden indien nodig verwijderd.

Verwijder Verklaring

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

De typische syntaxis voor de opdracht Verwijderen wordt hieronder vermeld.

VERWIJDEREN UIT

of

VERWIJDEREN VAN WAAR

Truncate Statement

Truncate-instructie verwijdert alle gegevens uit een bestaande tabel in een database, maar behoudt dezelfde tabelstructuur, ook de integriteitsbeperkingen, toegangsprivileges 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 te bewaren ongedaan te maken, en alleen deze paginadeallocaties worden bewaard in het transactielogboek. Daarom gebruikt de opdracht truncate slechts minder systeem- en transactielogboekbronnen voor bewerking, dus het is sneller dan andere gerelateerde opdrachten. Truncate is een DDL-commando, 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 Truncate-instructie kan niet worden toegepast op de tabellen waarnaar wordt verwezen door externe sleutelbeperkingen.

Hierna volgt de algemene syntaxis voor Truncate-statement.

TRUNCATE TABEL

Wat is het verschil tussen Verwijderen en Afkappen?

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

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

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

4. Truncate-bewerking verbruikt minder systeembronnen en transactielogboekbronnen dan de Delete-bewerking, daarom wordt Truncate als sneller beschouwd dan Delete.

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

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

7. Ten slotte hebben beide opdrachten zowel voor- als nadelen bij het toepassen ervan in databasebeheersystemen en de gebruiker moet zich ervan bewust zijn deze opdrachten op de juiste manier te gebruiken om goede resultaten te behalen.

Aanbevolen: