Skillnad mellan truncate och delete Skillnad mellan

Anonim

Dataskapning och manipulation utgör databasbasen och vi kallar det som respektive DDL och DML. En DDL är en förkortning för Data Definition Language. Det kan antingen skapa eller ändra datastrukturerna i databaserna och de kunde inte användas för att ändra data som finns på tabellerna. Vi har till exempel kommandon som bara skapar ett bord med angivna tabellattribut, men det lägger aldrig några rader i tabellen. Men en DML, Data Manipulation Language, kan lägga till, radera eller ändra data i tabellerna. Som regel gäller DDL-kommandonerna med bordstrukturerna medan DML-kommandona handlar om de faktiska data. Låt det vara, varför avviker vi bara från ämnet "Skillnad mellan truncate och delete"? Det finns skäl att vi talade om DML och DDL. Du skulle förstå det i den föregående kommande diskussionen.

Vad är ett truncate-kommando?

Syftet med ett truncate-kommando är att radera hela tabellen. Så när du använder ett truncate-kommando kommer du att förlora all data på bordet och du bör vara försiktig med att använda den. Låt oss veta hur man använder den.

Synkroniseringen av truncate:

TRUNCATE TABLE tabellnamn ;

Här ska du ange namnet på tabellen som ska raderas på det hela taget. Detta säkerställer att det finns någon tabell som sitter i minnesutrymmet. Här är ett exempel på att använda Truncate.

Nedan är 'anställd' tabellen och titta bara på raderna av data i den.

emp-id emp-namn beteckning
1011 Jack expedit
1012 Rosy Admin
1014 Nancy > Ekonomi
Nu, låt oss utfärda kommandot nedan på arbetstabellen.

TRUNCATE TABLE

anställd; Här är resultatet av ovanstående syntax och det finns inga data i den.

emp-id

emp-name beteckning Vad är en Delete Command?

Syftet med ett kommando Delete är att ta bort de angivna raderna från tabellen. Här används "Where" -klausul här för att ange raderna som måste raderas. När vi inte anger raderna skulle kommandot radera alla rader i tabellen. Titta bara på syntaxen av den.

DELETE FROM

anställd; Ovanstående syntax tar bort alla rader från "anställd" -tabellen. Så det resulterande tabellen innehåller inga data.

DELETE FROM

anställd VAR emp-id = 1011; Detta uttalande raderar bara en enda rad vars emp-id är 1011. Så resulterade tabellen skulle vara som nedan.

emp-id

emp-name beteckning 1012
Rosy Admin 1014
Nancy Ekonomi Skillnader:

Truncate är en DDL; Ta bort är en DML:

  • Vi har diskuterat ovan hur DDL och DML fungerar i vår ovanstående diskussion.Kommandot Truncate är en DDL och det fungerar på datastrukturnivå. Men Delete är ett DML-kommando och det fungerar på tabeldata. Andra exempel på DDL är CREATE och ALTER. På liknande sätt kan vi säga kommandona som SELECT, UPDATE och REPLACE är perfekta exempel på en DML. Hur fungerar truncate och delete:
  • Så snart vi utfärdar kommandot Truncate söker det bara efter den angivna tabellen. Sedan tar det helt bort alla data från minnet. Men arbetsförfarandet är lite annorlunda i fallet med en radering. Här kopieras de ursprungliga tabelldata till utrymme som kallas "Rulla tillbaka" -utrymmet innan du gör den faktiska datapanuleringen. Därefter görs ändringarna på det faktiska tabellen datautrymme. Så, båda skiljer sig åt hur de fungerar. Truncate

-> ta bort hela data från bordet -> Tabellutrymme befrias nu. Ta bort

-> Kopiera de ursprungliga tabelldata till Rollback space -> radera angivna data / hela tabellen -> Tabellutrymmet är befriat, men Rollback space är fyllt. Rulla tillbaka:

  • En rulle tillbaka är som ett Ångra-kommando i våra Microsoft-tillbehör. Det används för att avbryta ändringarna som vi har gjort nyligen jag. e. från den sista sparade punkten. För att utföra operationen ska data kopieras till Rollback-rummet innan det redigeras. Även om dessa rullbackar kräver extra minne, är de extremt användbara för att komma tillbaka till originalet. Särskilt när du redigerar av misstag! Låt oss komma till Truncate och Delete med avseende på Roll back nu. Som vi diskuterade ovan använder Truncate aldrig ett ryggutrymme och vi kunde inte återgå till originaldata. Men Delete-kommandot använder rulla utrymme och vi kan bara antingen använda "Commit" eller "Rollback" för att acceptera eller avbryta ändringarna respektive. Triggers:
  • För dem som behöver en förklaring om triggers, här är en liten anteckning. Utlösare är en förutbestämd uppsättning operationer / operationer som ska aktiveras när bordet möter ett visst tillstånd. Till exempel kan vi utlösa lönebeloppet när en medarbetares erfarenhet med företaget är mer än ett år. Dessa triggers kan också fungera på andra tabeller. Till exempel kan vi uppdatera finansieringstabellen så snart en löneökning har gjorts för en anställd. Truncate är ett DDL-kommando, utlösaren är inte tillåten här. Men en Delete är ett DML-kommando, utlösare är tillåtna här.

Vilket är snabbare?

  • Som du gissade skulle kommandot Truncate vara snabbare än kommandot Ta bort. Den förstnämnda kunde ta bort alla data och det är inte nödvändigt att kontrollera om matchande förhållanden är uppfyllda. De ursprungliga data kopieras inte heller till återställningsutrymmet och det sparar mycket tid. Dessa två faktorer gör Truncate-arbetet snabbare än Delete. Kan vi använda WHERE-klausulen?
  • Klausulen "Where" används för att specificera vissa matchningsförhållanden och är inget med truncate. Eftersom Truncate aldrig letar efter matchande förhållanden och det bara tar bort alla rader, kunde vi inte använda en "Where" -klausul här.Men vi kunde alltid ange villkoret med hjälp av "var" -klausulen i kommandot Ta bort. Vilket rymmer mer utrymme?
  • Den trunkerade kommer inte att använda rullningsutrymmet och det sparar det minnet. Men radera behöver en säkerhetskopia i form av Återskapningsutrymme och det kräver därför mer minnesutrymme än avkortningen. Så det är skillnaderna och låt oss titta på i en tabellform.

S. Ingen

Skillnader i Avkorta Ta bort 1.
DDL eller DML? Det är en DDL och det fungerar på datastrukturnivå. Andra exempel på DDL är CREATE och ALTER. Det är ett DML-kommando och det fungerar på bordsdata. DML står för Data Manipulation Language. Kommandona som SELECT, UPDATE och REPLACE är perfekta exempel på en DML. DML står för Data Manipulation Language.

2.

Hur fungerar det? Så snart vi utfärdar kommandot Truncate söker det bara efter den angivna tabellen. Sedan tar det helt bort alla data från minnet. Här kopieras de ursprungliga tabelldata till utrymme som kallas "Rulla tillbaka" -utrymmet innan du gör den faktiska datamanipuleringen. Därefter görs ändringarna på det faktiska tabellen datautrymme. 3.
RollBack Kommandot Truncate använder aldrig ett rulleutrymme och vi kunde inte återgå till originaldata. Ett återskapningsutrymme är en exklusiv och är upptagen när DML-kommandon utfärdas. Kommandot Radera använder rulla utrymme och vi kan bara antingen använda "Commit" eller "Rollback" för att acceptera eller avbryta ändringarna respektive. 4.

Triggers Truncate är ett DDL-kommando, triggare är inte tillåtna. Ta bort är ett DML-kommando, utlösare är tillåtna här. 5.

Vilket är snabbare? Det kan ta bort alla data och det är inte nödvändigt att kontrollera om matchningsförhållandena är uppfyllda. De ursprungliga data kopieras inte heller till återställningsutrymmet och det sparar mycket tid. Dessa två faktorer gör Truncate-arbetet snabbare än Delete. Den använder återställningsutrymmet och alltid måste de ursprungliga uppgifterna behållas på den. Detta är en extra börda och tar i sin tur mycket tid än trunkaten.

6.
Kan vi använda WHERE-klausulen? Eftersom Truncate aldrig letar efter matchande villkor och det bara tar bort alla rader, kunde vi inte använda en "Where" -klausul här. Men vi kan alltid ange villkoret med hjälp av "var" -klausulen i kommandot Ta bort. 7.
Vilket rymmer mer utrymme? Den trunkerade kommer inte att använda rullningsutrymmet och det sparar det minnet. Det behövs en säkerhetskopia i form av Återskapningsutrymme och det kräver därför mer minnesutrymme än avkortningen. Att förstå skillnaderna mellan de två enheterna breddar kunskapen på båda! Du har landat på rätt väg i. e. webbsidan för att förstå skillnaderna, i synnerhet mellan stympa och radera kommandon. Hoppas du är nu klar med sina skillnader och låt oss veta om vi hade hjälpt dig att förstå det. Du kan också hjälpa oss att påpeka vilket som har lämnats!