Drop vs Truncate

Drop and Truncate er to SQL (Structured Query Language) uttalelser som brukes i databasestyringssystemer, der vi ønsker å fjerne dataposter fra en database. Både slipp- og avkortingssetninger fjerner hele dataene i en tabell og den relaterte SQL-setningen. Sletteoperasjon er ikke effektiv i dette tilfellet fordi den bruker flere lagringsplasser enn Drop and Truncate.

I tilfelle, hvis vi ønsker å forkaste en tabell i en database helt med alle dataene, lar SQL oss enkelt utføre dette ved å bruke Drop statement. Drop-kommando er en DDL-kommando (Data Definition Language), og den kan brukes til å ødelegge en eksisterende database, tabell, indeks eller visning. Den sletter hele informasjonen i en tabell, så vel som tabellstrukturen fra databasen. Det kan også hende at vi ønsker å bli kvitt alle dataene i en tabell ganske enkelt, men uten tabellen, og vi kan bruke Truncate-setningen i SQL i et slikt scenario. Trunkering er også en DDL-kommando, og den eliminerer alle radene i en tabell, men bevarer tabelldefinisjonen den samme for fremtidig bruk.

Slipp kommando

Som nevnt tidligere, fjerner Drop-kommandoen tabelldefinisjonen og alle dens data, integritetsbegrensninger, indekser, utløsere og tilgangsrettigheter, som ble opprettet på den aktuelle tabellen. Så det slipper det eksisterende objektet fra databasen fullstendig, og forholdene til andre tabeller vil heller ikke lenger være gyldige etter utføring av kommandoen. Den fjerner også all informasjonen om tabellen fra dataordboken. Følgende er den typiske syntaks for bruk av Drop-setningen på et bord.

DROP BORD

Vi må ganske enkelt bytte ut tabellenavnet som vi vil fjerne fra databasen i eksemplet over av Drop-kommandoen ovenfor.

Det er viktig å påpeke at Drop statement ikke kan brukes til å slette en tabell, som allerede har blitt referert til av en fremmed nøkkelbegrensning. I så fall må den henvisende utenlandske nøkkelbegrensningen, eller den tabellen, først slippes. Drop statement kan ikke brukes på systemtabellene i databasen.

Ettersom Drop-kommando er en automatisk uttalelseserklæring, kan ikke operasjonen når den er avfyrt, rulles tilbake, og ingen utløsere vil bli avfyrt. Når en tabell slippes, vil ikke alle referanser til tabellen være gyldige, og hvis vi ønsker å bruke tabellen igjen, må den gjenskapes med alle integritetsbegrensninger og tilgangsrettigheter. Alle forholdene til de andre tabellene må også lokaliseres igjen.

Avkort kommando

Trunkering-kommando er en DDL-kommando, og den fjerner alle radene i en tabell uten noen spesifikke brukerforhold, og frigjør plassen som brukes av tabellen, men tabellstrukturen med kolonnene, indeksene og begrensningene forblir den samme. Trunkering eliminerer data fra en tabell ved å omfordele datasidene som brukes til å lagre tabelldataene, og bare disse sidetildelingen holdes i transaksjonsloggen. Så den bruker færre transaksjonsloggressurser og systemressurser sammenlignet med andre relaterte SQL-kommandoer som Delete. Så Truncate er litt raskere uttalelse enn andre. Følgende er den typiske syntaks for kommisjonen.

TRUNCATE BORD

Vi bør erstatte tabellnavnet, som vi vil fjerne alle dataene fra, i syntaks over.

Trunkering kan ikke brukes på et bord som har blitt referert til av en fremmed nøkkelbegrensning. Den bruker en forpliktelse automatisk før den opptrer og en annen forpliktelse etterpå, slik at tilbakeføring av transaksjonen er umulig, og ingen utløsere blir avfyrt. Hvis vi vil gjenbruke tabellen, trenger vi bare å få tilgang til den eksisterende tabeldefinisjonen i databasen.

Hva er forskjellen mellom Drop og Truncate?

Både slipp- og avkortningskommandoer er DDL-kommandoer og også automatiske forpliktelsesuttalelser slik at transaksjonene som utføres ved hjelp av disse kommandoene ikke kan rulles tilbake.

Den primære forskjellen mellom slipp og avkort er at Drop-kommandoen fjerner ikke bare alle dataene i en tabell, men også at den fjerner tabellstrukturen permanent fra databasen med alle referanser, mens kommisjonen Trunket bare fjerner alle radene i en tabell , og den bevarer tabellstrukturen og dens referanser.

Hvis en tabell blir droppet, vil forholdene til andre tabeller ikke lenger være gyldige, og integritetsbegrensningene og tilgangsrettighetene vil også bli fjernet. Så hvis tabellen kreves gjenbruk, må den rekonstrueres med forholdene, integritetsbegrensningene og også tilgangsrettighetene. Men hvis en tabell er avkortet, forblir tabellstrukturen og dens begrensninger for fremtidig bruk, og det er derfor ikke nødvendig med noen av de ovennevnte rekreasjonene for gjenbruk.

Når disse kommandoene brukes, må vi være forsiktige med å bruke dem. Vi bør også ha en bedre forståelse av arten av disse kommandoene, hvordan de fungerer, og også en viss nøye planlegging før vi bruker dem for å forhindre at det mangler nødvendigheter. Til slutt kan begge disse kommandoene brukes til å rydde opp i databasene raskt og enkelt, og bruker færre ressurser.