Drop vs Trunkate

Drop and Truncate er to SQL (Structured Query Language) udsagn, der bruges i databasestyringssystemer, hvor vi ønsker at fjerne dataposter fra en database. Både Drop og Truncate-sætninger fjerner alle data i en tabel og den tilhørende SQL-sætning. Sletning er ikke effektiv i dette tilfælde, fordi det bruger flere opbevaringspladser end Drop og Trunkate.

Hvis vi ønsker at kassere en tabel i en database helt med alle dens data, giver SQL os mulighed for let at udføre dette ved hjælp af Drop-erklæring. Drop-kommando er en DDL-kommando (Data Definition Language), og den kan bruges til at ødelægge en eksisterende database, tabel, indeks eller visning. Det sletter hele informationen i en tabel såvel som tabelstrukturen fra databasen. Vi ønsker måske også at slippe af med alle data i en tabel simpelthen, men uden tabellen, og vi kan bruge Trunkering-sætning i SQL i et sådant scenario. Trunkering er også en DDL-kommando, og det eliminerer alle rækker i en tabel, men bevarer tabeldefinitionen den samme til fremtidig brug.

Drop kommando

Som nævnt tidligere fjerner Drop-kommandoen tabeldefinitionen og alle dens data, integritetsbegrænsninger, indekser, triggere og adgangsrettigheder, som blev oprettet på den pågældende tabel. Så det slipper det eksisterende objekt helt fra databasen, og forholdet til andre tabeller er heller ikke længere gyldigt efter udførelsen af ​​kommandoen. Det fjerner også alle oplysninger om tabellen fra dataordbogen. Følgende er den typiske syntaks til brug af Drop-sætningen på en tabel.

DROP TABEL

Vi skal blot erstatte det tabellenavn, som vi vil fjerne fra databasen i ovenstående eksempel på Drop-kommando.

Det er vigtigt at påpege, at Drop-erklæring ikke kan bruges til at slette en tabel, der allerede er henvist til med en fremmed nøglebegrænsning. I dette tilfælde skal den henvisende udenlandske nøglebegrænsning eller den pågældende tabel først droppes. Drop-erklæring kan heller ikke anvendes på systemtabellerne i databasen.

Da Drop-kommando er en automatisk forpligtelseserklæring, kan operationen, når den først er affyret, ikke rulles tilbage, og ingen triggere udløses. Når en tabel falder, er alle henvisninger til tabellen ikke gyldige, og hvis vi vil bruge tabellen igen, skal den gendannes med alle integritetsbegrænsninger og adgangsrettigheder. Alle forhold til de andre tabeller skal også placeres igen.

Trunke kommando

Trunkering-kommando er en DDL-kommando, og den fjerner alle rækker i en tabel uden nogen bruger specificerede betingelser, og frigiver den plads, som tabellen bruger, men tabellstrukturen med dens kolonner, indekser og begrænsninger forbliver den samme. Trunkering eliminerer data fra en tabel ved at omfordele datasiderne, der bruges til at gemme tabeldataene, og kun disse sidetildelinger opbevares i transaktionsloggen. Så det bruger færre transaktionslogressourcer og systemressourcer sammenlignet med andre relaterede SQL-kommandoer som Slet. Så Trunkering er lidt hurtigere udsagn end andre. Følgende er den typiske syntaks for kommando Trunkering.

TRUNCATE BORD

Vi skal erstatte tabellenavnet, hvorfra vi vil fjerne hele dataene, i ovenstående syntaks.

Trunkering kan ikke bruges på en tabel, der er henvist til med en fremmed nøglebegrænsning. Det bruger en engagement automatisk, før den handler, og en anden begivenhed bagefter, så tilbageførsel af transaktionen er umulig, og ingen udløsere udløses. Hvis vi vil genbruge tabellen, behøver vi kun adgang til den eksisterende tabeldefinition i databasen.

Hvad er forskellen mellem Drop og Trunkate?

Både Drop- og Trunkate-kommandoer er DDL-kommandoer og også auto commit-erklæringer, så de transaktioner, der udføres ved hjælp af disse kommandoer, kan ikke rulles tilbage.

Den primære forskel mellem Drop og Truncate er, at Drop-kommandoen fjerner ikke kun alle data i en tabel, men også at den fjerner tabelstrukturen permanent fra databasen med alle referencer, mens kommandoen Truncate kun fjerner alle rækker i en tabel , og det bevarer tabelstrukturen og dens referencer.

Hvis en tabel falder, er forholdet til andre tabeller ikke længere gyldige, og integritetsbegrænsningerne og adgangsprivilegierne fjernes også. Så hvis det kræves, at tabellen genbruges, skal den rekonstrueres med forholdene, integritetsbegrænsningerne og også adgangsrettighederne. Men hvis en tabel er afkortet, forbliver bordstrukturen og dens begrænsninger til fremtidig brug, og derfor kræves ingen af ​​ovennævnte rekreationer til genbrug.

Når disse kommandoer anvendes, skal vi være forsigtige med at bruge dem. Vi bør også have en bedre forståelse af arten af ​​disse kommandoer, hvordan de fungerer, og også en vis omhyggelig planlægning, før vi bruger dem for at forhindre, at der mangler væsentlige ting. Endelig kan begge disse kommandoer bruges til at rydde op i databaserne hurtigt og nemt og forbruge færre ressourcer.