Slet vs Trunkeret
Begge SQL-kommandoer (Structure Query Language), Slet og Trunkering bruges til at slippe af med data, der er gemt i tabeller i en database. Slet er en DML-oversigt (Data Manipulation Language), og den fjerner nogle eller alle rækkerne i en tabel. 'Hvor-klausulen' bruges til at specificere de rækker, der skal slettes, og hvis hvor-klausulen ikke bruges med Sæt-sætning, fjerner det alle data i tabellen. Trunkering er en DDL-erklæring (Data Definition Language), og den fjerner hele data fra tabellen. Begge disse kommandoer ødelægger ikke tabellstrukturen og referencerne til tabellen, og kun dataene fjernes efter behov.
Slet erklæring
Sætningsangivelse giver brugeren mulighed for at fjerne data fra en eksisterende tabel i en database baseret på en specificeret betingelse, og 'Hvor-klausul' bruges til at bestemme denne betingelse. Slet-kommando kaldes en logget udførelse, fordi den kun sletter en række ad gangen og opbevarer en post for hver retsletning i transaktionsloggen. Så dette medfører, at operationen bliver langsommere. Sletning er en DML-sætning, og det er derfor ikke automatisk, når du udfører kommandoen. Derfor kan Slet-operation rulles tilbage for at få adgang til data igen, hvis nødvendigt. Efter udførelse af Slet-kommandoen skal den indgås eller rulles tilbage for at gemme ændringer permanent. Sætningsangivelse fjerner ikke tabelstrukturen i tabellen fra databasen. Det fordeler heller ikke hukommelsesområdet, der bruges af tabellen.
Den typiske syntaks for kommandoen Slet er angivet nedenfor.
SLET FRA
eller
SLET FRA HVOR
Afkort erklæring
Trunkering-sætning fjerner alle data fra en eksisterende tabel i en database, men den bevarer den samme tabelstruktur, også integritetsbegrænsninger, adgangsrettigheder og forholdet til andre tabeller. Så det er ikke påkrævet at definere tabellen igen, og den gamle tabelstruktur kan bruges, hvis brugeren ønsker at genbruge tabellen igen. Trunkering fjerner hele data ved at omfordele de datasider, der bruges til at opbevare data, og kun disse sidetildelinger opbevares i transaktionsloggen. Derfor bruger trunkeringskommandoen kun færre system- og transaktionslogressourcer til drift, så det er hurtigere end andre relaterede kommandoer. Trunkering er en DDL-kommando, så den bruger automatiske forpligtelser før og efter udførelsen af erklæringen. Derfor kan trunkering ikke rulle dataene tilbage på nogen måde. Det frigiver hukommelsesplads, der bruges af tabellen efter udførelsen. Men Trunkering-sætning kan ikke anvendes på de tabeller, der henvises til med udenlandske nøglebegrænsninger.
Følgende er den almindelige syntaks for afsnittet Trunkering.
TRUNCATE BORD
Hvad er forskellen mellem Slet og Trunker? 1. Slet og trunker kommandoer, fjern data fra eksisterende tabeller i en database uden at skade tabellstrukturen eller andre henvisninger til tabellen. 2. Kommandoen Slet kan dog bruges til at slette specifikke rækker kun i en tabel ved hjælp af en relevant betingelse, eller til at slette alle rækkerne uden nogen betingelse, mens kommandoen Trunkering kun kan bruges til at slette hele data i tabellen. 3. Sletning er en DML-kommando, og den kan rulle operationen tilbage om nødvendigt, men Trunkering er en DDL-kommando, så det er en auto commit-erklæring og kan ikke rulles tilbage på nogen måde. Så det er vigtigt at bruge denne kommando omhyggeligt i databasestyring. 4. Trunkering bruger mindre systemressourcer og transaktionslogressourcer end Slet-operationen, derfor betragtes Trunkering som hurtigere end Slet. 5. Slet fordeler heller ikke plads, der bruges af tabellen, mens Trunkering frigør det anvendte plads efter udførelse, så Slet er ikke effektivt i tilfælde af at slette hele dataene fra en databasetabel. 6. Truncate er dog ikke tilladt at bruge, når der henvises til tabellen med en fremmed nøglebegrænsning, og i dette tilfælde kan kommandoen Slet bruges i stedet for Trunkering. 7. Endelig har begge disse kommandoer fordele og ulemper ved at anvende dem i databasestyringssystemer, og brugeren skal være opmærksom på at bruge disse kommandoer korrekt for at opnå gode resultater.
|