Forskjellen Mellom Fall Og Avkorting

Forskjellen Mellom Fall Og Avkorting
Forskjellen Mellom Fall Og Avkorting

Video: Forskjellen Mellom Fall Og Avkorting

Video: Forskjellen Mellom Fall Og Avkorting
Video: Section, Week 5 2024, November
Anonim

Drop vs Truncate

Drop and Truncate er to SQL-setninger (Structured Query Language) som brukes i Database Management Systems, der vi ønsker å fjerne dataposter fra en database. Både Drop- og Truncate-setninger 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 og Truncate.

I tilfelle hvis vi ønsker å forkaste en tabell i en database helt med alle dataene, lar SQL oss enkelt utføre dette ved hjelp av Drop-setning. 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, samt tabellstrukturen fra databasen. Vi kan også ønske å kvitte seg med alle dataene i en tabell ganske enkelt, men uten tabellen, og vi kan bruke Truncate-setningen i SQL i et slikt scenario. Truncate er også en DDL-kommando, og den eliminerer alle radene i en tabell, men bevarer tabelldefinisjonen den samme for fremtidig bruk.

Slipp kommandoen

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 helt fra databasen, og forholdet til andre tabeller vil heller ikke lenger være gyldig etter at kommandoen er utført. Det fjerner også all informasjonen om tabellen fra dataordlisten. Følgende er den typiske syntaksen for bruk av Drop-setningen på et bord.

DROPBORD

Vi må bare erstatte tabellnavnet som vi vil fjerne fra databasen i eksemplet ovenfor for Drop-kommandoen.

Det er viktig å påpeke at Drop-setning ikke kan brukes til å slette en tabell, som det allerede er referert til av en fremmed nøkkelbegrensning. I så fall må den henvisende begrensningen for utenlandsk nøkkel, eller den aktuelle tabellen, først slippes. Drop statement kan heller ikke brukes på systemtabellene i databasen.

Ettersom Drop-kommandoen er en automatisk forpliktelseserklæring, kan ikke operasjonen når den er sparket rulles tilbake, og ingen utløsere vil bli avfyrt. Når en tabell blir droppet, vil ikke alle referansene til tabellen være gyldige, og hvis vi vil bruke tabellen igjen, må den gjenskapes med alle integritetsbegrensninger og tilgangsrettigheter. Alle forhold til de andre tabellene må også lokaliseres igjen.

Avkort kommandoen

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

TRUNKER BORD

Vi bør erstatte tabellnavnet, som vi vil fjerne hele dataene fra, i syntaksen ovenfor.

Avkorting kan ikke brukes på et bord som det er referert til av en fremmed nøkkelbegrensning. Den bruker en forpliktelse automatisk før den handler, og en annen forpliktelse etterpå, så tilbakeføring av transaksjonen er umulig, og ingen utløsere utløses. Hvis vi vil bruke tabellen på nytt, trenger vi bare å få tilgang til den eksisterende tabelldefinisjonen i databasen.

Hva er forskjellen mellom Drop og Truncate?

Både Drop- og Truncate-kommandoer er DDL-kommandoer og utfører automatisk uttalelser, slik at transaksjonene som utføres med disse kommandoene ikke kan rulles tilbake.

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

Hvis en tabell blir droppet, vil forholdet til andre tabeller ikke lenger være gyldig, og integritetsbegrensningene og tilgangsrettighetene vil også bli fjernet. Så hvis det kreves at bordet gjenbrukes, må det rekonstrueres med forholdene, integritetsbegrensninger og også tilgangsrettighetene. Men hvis en tabell blir avkortet, forblir tabellstrukturen og dens begrensninger for fremtidig bruk, og det er 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å få en bedre forståelse av arten av disse kommandoene, hvordan de fungerer, og også litt nøye planlegging før vi bruker dem for å forhindre manglende nødvendigheter. Til slutt kan begge disse kommandoene brukes til å rydde opp i databasene raskt og enkelt, og forbruke færre ressurser.

Anbefalt: