Radera vs Truncate
Både SQL (Structure Query Language) kommandon, Delete och Truncate används för att bli av med data lagrade i tabeller i en databas. Radera är ett DML-meddelande (Data Manipulation Language) och det tar bort några eller alla rader i en tabell. "Where-klausulen" används för att ange de rader som krävs för att raderas, och om Where-klausulen inte används med Radera-satsen, tar den bort alla data i tabellen. Truncate är ett DDL (Data Definition Language) -förklaring, och det tar bort hela data från tabellen. Båda dessa kommandon förstör inte bordstrukturen och referenserna till bordet, och endast data tas bort efter behov.
Ta bort uttalande
Radera uttalandet tillåter användaren att ta bort data från en befintlig tabell i en databas baserat på ett angivet villkor och "Where-klausulen" används för att bestämma detta tillstånd. Ta bort kommandot hänvisas till som ett loggat utförande, eftersom det bara raderar en rad i taget och behåller en post för varje rad radering i transaktionsloggen. Så detta medför att operationen blir långsammare. Radera är ett DML-uttalande, och det görs inte automatiskt när man utför kommandot. Därför kan Ta bort operationen rullas tillbaka för att komma åt data igen, om det behövs. Efter utförandet av Delete-kommandot ska det vara begått eller rullat tillbaka för att spara ändringar permanent. Radera uttalandet tar inte bort tabellstrukturen i tabellen från databasen. Det fördelar inte heller det minnesutrymme som används av tabellen.
Den typiska syntaxen för Delete-kommandot anges nedan.
DELETE FROM
eller
DELETE FRÅN VAR
Truncate Statement
Truncate statement tar bort all data från en befintlig tabell i en databas, men den bevarar samma tabellstruktur, även integritetsbegränsningar, åtkomstbehörigheter och relationerna till andra tabellerna. Så det är inte nödvändigt att definiera tabellen igen, och den gamla bordstrukturen kan användas om användaren vill återanvända bordet igen. Truncate tar bort hela data genom att deallokera datasidorna som används för att hålla data, och endast dessa sidlokaliseringar förvaras i transaktionsloggen. Därför använder trunkate-kommandot endast färre system- och transaktionsloggresurser för drift, så det är snabbare än andra relaterade kommandon. Truncate är ett DDL-kommando, så det använder automatiska åtaganden före och efter genomförandet av uttalandet. Därför kan trunkate inte återställa data igen på något sätt. Det släpper ut minnesutrymmet som används av bordet efter utförandet. Men truncate uttalande kan inte tillämpas på tabellerna som refereras av främmande nyckelbegränsningar.
Följande är den vanliga syntaxen för Truncate-uttalandet.
TRUNCATE TABLE
Vad är skillnaden mellan Delete och Truncate? 1. Ta bort och avkorta kommandon ta bort data från existerande tabeller i en databas utan att skada tabellstrukturen eller andra referenser till tabellen. 2. Kommandot Delete kan dock endast användas för att radera specifika rader endast i en tabell med ett relevant villkor eller att radera alla rader utan något villkor, medan kommandot Truncate endast kan användas för att radera hela data i tabellen. 3. Delete är ett DML-kommando, och det kan rulla tillbaka operationen om det behövs, men Truncate är ett DDL-kommando, så det är ett automatiskt commit-uttalande och kan inte rullas tillbaka på något sätt. Så det är viktigt att använda detta kommando noggrant i databashantering. 4. Avkorta operationen förbrukar färre systemresurser och transaktionsloggresurser än Delete-funktionen, därför anses Truncate vara snabbare än Delete. 5. Vidare fördelar Delete inte utrymme som används av tabellen, medan Truncate frigör det utrymme som används efter exekvering, så Delete är inte effektivt om man raderar hela data från en databas tabell. 6. Truncate får emellertid inte använda när tabellen refereras av en främmande nyckelbegränsning, och i så fall kan kommandot Radera användas istället för Truncate. 7. Slutligen har båda dessa kommandon fördelar och även nackdelar med att tillämpa dem i Database Management Systems och användaren bör vara medveten om att använda dessa kommandon på lämpligt sätt för att uppnå goda resultat.
|