Verschil tussen trunceren en verwijderen Verschil tussen
Het maken en manipuleren van gegevens vormt de basis van databases en we noemen het respectievelijk DDL en DML. Een DDL is een afkorting voor de Data Definition Language. Het kan de datastructuren in de databases maken of wijzigen en ze kunnen niet worden gebruikt om de gegevens in de tabellen te wijzigen. We hebben bijvoorbeeld opdrachten die alleen een tabel maken met de opgegeven tabelattributen, maar voegt nooit rijen toe aan de tabel. Maar een DML, de taal voor gegevensmanipulatie, is in staat om gegevens in de tabellen toe te voegen, te verwijderen of aan te passen. Als algemene regel geldt dat de DDL-opdrachten betrekking hebben op de tabelstructuren, terwijl de DML-opdrachten betrekking hebben op de feitelijke gegevens. Laat het zo zijn, waarom wijken we gewoon af van het onderwerp "Verschil tussen Trunceren en Verwijderen"? Er zijn redenen dat we het hadden over de DML en de DDL. Je zou het in de komende discussie begrijpen.
Wat is een Truncate-opdracht?
Het doel van een opdracht Truncate is om de hele tabel te verwijderen. Dus als je een Truncate-opdracht gebruikt, verlies je alle gegevens op de tafel en moet je voorzichtig zijn met het gebruik ervan. Laat ons weten hoe het te gebruiken.
De syntaxis van Truncate:
TRUNCATE TABLE tabelnaam ;
Hier moet u de naam opgeven van de tabel die in zijn geheel moet worden verwijderd. Dit zorgt ervoor dat er een tafel in de geheugenruimte zou zitten. Hier is een voorbeeld van het gebruik van Truncate.
Hieronder ziet u de tabel 'Werknemer' en kijkt u naar de rijen met gegevens.
emp-id | emp-name | aanwijzing |
1011 | Jack | Clerk |
1012 | Rosy | Beheer |
1014 | Nancy > Financiën | |
TRUNCATE TABLE
werknemer; Dit is het resultaat van de bovenstaande syntaxis en er zijn geen gegevens in.
emp-id
emp-naam | aanduiding | Wat is een verwijderopdracht? |
Het doel van een verwijderopdracht is om de opgegeven rijen uit de tabel te verwijderen. Hier wordt de clausule 'Waar' gebruikt om de rijen op te geven die moeten worden verwijderd. Wanneer we de rijen niet opgeven, verwijdert de opdracht alle rijen in de tabel. Kijk maar naar de syntaxis ervan.
DELETE FROM
medewerker; De bovenstaande syntaxis verwijdert alle rijen uit de tabel 'werknemer'. Dus de resulterende tabel zou geen gegevens bevatten.
DELETE FROM
medewerker WHERE emp-id = 1011; Deze instructie verwijdert gewoon een enkele rij waarvan de emp-id 1011 is. De resulterende tabel zou dus zijn zoals hieronder.
emp-id
emp-naam | aanduiding | 1012 |
Rosy | Admin | 1014 |
Nancy | Finance | Verschillen: |
Truncate is een DDL; Verwijderen is een DML:
- We hebben hierboven besproken hoe de DDL en de DML werken in onze bovenstaande discussie.De opdracht Truncate is een DDL en deze werkt op het niveau van de gegevensstructuur. Maar Verwijderen is een DML-opdracht en deze werkt op de tabelgegevens. Andere voorbeelden voor DDL zijn CREATE en ALTER. Op een vergelijkbare manier zouden we kunnen zeggen dat de commando's zoals SELECT, UPDATE en REPLACE perfecte voorbeelden zijn voor een DML. Hoe werkt Truncate en Delete:
- Zodra we de opdracht Truncate uitvoeren, wordt alleen naar de opgegeven tabel gezocht. Vervolgens worden alle gegevens uit het geheugen volledig verwijderd. Maar de werkprocedure is weinig anders in het geval van een verwijdering. Hier worden de oorspronkelijke tabelgegevens naar de ruimte gekopieerd, de 'Roll-back'-spatie voordat de feitelijke gegevensmanipulatie wordt uitgevoerd. Vervolgens worden de wijzigingen aangebracht in de werkelijke tabelgegevensruimte. Beide verschillen dus in de manier waarop ze werken. Trunceren
-> volledige gegevens uit de tabel verwijderen -> De tabelruimte is nu vrijgegeven. Wissen
-> Kopieer de oorspronkelijke tabelgegevens naar Roll-back-ruimte -> verwijder de opgegeven gegevens / gehele tabel -> De tabelruimte is vrijgemaakt, maar de rolterugslagruimte is gevuld. Terugdraaien:
- terugdraaien is als een opdracht Ongedaan maken in onze Microsoft-accessoires. Het wordt gebruikt om de wijzigingen die we onlangs hebben aangebracht te annuleren i. e. vanaf het laatst opgeslagen punt. Om de bewerking uit te voeren, moeten de gegevens worden gekopieerd naar de rollade voordat deze wordt bewerkt. Hoewel deze Roll-backs het extra geheugen vereisen, zijn ze bijzonder handig om terug te gaan naar het origineel. Vooral als je per ongeluk iets redigeert! Laten we nu naar de Truncate en Delete komen met betrekking tot de Roll nu. Zoals we hierboven hebben besproken, gebruikt de Truncate nooit een roll-backruimte en konden we niet terugkeren naar de oorspronkelijke gegevens. Maar de opdracht Delete gebruikt roll-back-ruimte en we kunnen ofwel 'Commit' of 'RollBack' gebruiken om de wijzigingen respectievelijk te accepteren of te annuleren. Triggers:
- Voor degenen die uitleg over triggers nodig hebben, hier is een kleine opmerking. Triggers zijn een vooraf gespecificeerde reeks bewerkingen / bewerkingen die moeten worden geactiveerd wanneer de tabel een bepaalde voorwaarde tegenkomt. We kunnen bijvoorbeeld het salarisbedrag wijzigen wanneer de ervaring van een werknemer met het bedrijf meer dan een jaar is. Deze triggers kunnen ook op andere tabellen werken. We kunnen bijvoorbeeld de financiële tabel bijwerken zodra een salarisverhoging voor een medewerker is gedaan. Truncate is een DDL-opdracht, de trigger is hier niet toegestaan. Maar een Delete is een DML-opdracht, Triggers zijn hier toegestaan.
Wat is sneller?
- Zoals u vermoedde, zou de opdracht Truncate sneller zijn dan de opdracht Delete. De eerstgenoemde kan alle gegevens verwijderen en het is niet nodig om te controleren op eventuele overeenkomende voorwaarden. De oorspronkelijke gegevens worden ook niet gekopieerd naar de terugdraaizone en dit bespaart veel tijd. Deze twee factoren zorgen ervoor dat Truncate sneller werkt dan de Delete. Kunnen we de WHERE-component gebruiken?
- De 'Where' -clausule wordt gebruikt om bepaalde afstemmingsvoorwaarden op te geven en is niets met de Truncate. Aangezien Truncate nooit naar overeenkomende voorwaarden zoekt en alleen alle rijen verwijdert, kunnen we hier geen 'Waar'-clausule gebruiken.Maar we kunnen altijd de voorwaarde opgeven met behulp van de 'where'-clausule in de opdracht Verwijderen. Welke ruimte neemt meer in beslag?
- De truncate gebruikt de rollback-ruimte niet en bewaart dat geheugen. Maar delete heeft een back-up nodig in de vorm van Rollback-ruimte en daarom heeft het meer geheugenruimte nodig dan de truncate. Dus dat zijn de verschillen en laten we naar een tabel kijken.
S. Nee
Verschillen in | Afknotten | Verwijderen | 1. |
DDL of DML? | Het is een DDL en deze werkt op het niveau van de gegevensstructuur. Andere voorbeelden voor DDL zijn CREATE en ALTER. | Het is een DML-opdracht en deze werkt op de tabelgegevens. De DML staat voor Data Manipulation Language. De opdrachten zoals SELECT, UPDATE en REPLACE zijn perfecte voorbeelden voor een DML. De DML staat voor Data Manipulation Language. |
2. |
Hoe werkt het? | Zodra we de opdracht Truncate uitvoeren, wordt alleen naar de opgegeven tabel gezocht. Vervolgens worden alle gegevens uit het geheugen volledig verwijderd. | Hier worden de oorspronkelijke tabelgegevens naar de ruimte gekopieerd, de 'Roll-back'-spatie voordat de feitelijke gegevensmanipulatie wordt uitgevoerd. Vervolgens worden de wijzigingen aangebracht in de werkelijke tabelgegevensruimte. | 3. |
Rollback | De opdracht Truncate maakt nooit gebruik van een terugrollende spatie en we konden niet terugkeren naar de oorspronkelijke gegevens. Een terugdraaiplaats is een exclusieve ruimte en is bezet wanneer de DML-opdrachten worden uitgegeven. | De opdracht Verwijderen gebruikt roll-back-ruimte en we kunnen ofwel 'Commit' of 'RollBack' gebruiken om de wijzigingen te accepteren of te annuleren. | 4. |
Triggers | Truncate is een DDL-opdracht, triggers zijn niet toegestaan. | Verwijderen is een DML-opdracht. Triggers zijn hier toegestaan. | 5. |
Wat is sneller? | Het kan alle gegevens verwijderen en het is niet nodig om te controleren op eventuele overeenkomende voorwaarden. De oorspronkelijke gegevens worden ook niet gekopieerd naar de terugdraaizone en dit bespaart veel tijd. Deze twee factoren zorgen ervoor dat Truncate sneller werkt dan de Delete. | Het maakt gebruik van de rollback-ruimte en altijd moeten de originele gegevens erop worden bewaard. Dit is een extra last en kost op zijn beurt veel meer tijd dan de Truncate. | 6. |
Kunnen we de WHERE-component gebruiken? | Aangezien Truncate nooit naar overeenkomende voorwaarden zoekt en alleen alle rijen verwijdert, kunnen we hier geen 'Where' -clausule gebruiken. | Maar we kunnen de voorwaarde altijd opgeven met behulp van de 'where'-component in de opdracht Verwijderen. | 7. |
Welke ruimte neemt meer in beslag? | De truncate gebruikt de rollback-ruimte niet en bewaart dat geheugen. | Het heeft een back-up in de vorm van Rollback-ruimte nodig en daarom heeft het meer geheugenruimte nodig dan de truncate. | Als u de verschillen tussen twee entiteiten kent, breidt u de kennis over beide uit! Je bent op een juiste weg beland i. e. de webpagina om de verschillen te begrijpen, met name tussen de truncate en delete-opdrachten. Ik hoop dat je nu duidelijk bent met de verschillen en laat het ons weten als we je hadden geholpen het te begrijpen. U kunt ons ook helpen te wijzen op wat er is achtergelaten! |