Skillnaden mellan släpp och avkortning
Släpp vs Trunkera
Drop and Truncate är två SQL-uttalanden (Structured Query Language) som används i databashanteringssystem, där vi vill ta bort dataposter från en databas. Både släpp- och trunkeringssatser tar bort alla data i en tabell och det relaterade SQL-uttalandet. Radering är inte effektiv i det här fallet eftersom det använder fler lagringsutrymmen än Drop och Trunkate.
I fallet om vi vill kassera en tabell i en databas helt och hållet med alla data, tillåter SQL oss att enkelt utföra detta med hjälp av Drop-sats. Drop-kommando är ett DDL-kommando (Data Definition Language), och det kan användas för att förstöra en befintlig databas, tabell, index eller vy. Den raderar hela informationen i en tabell, såväl som tabellstrukturen från databasen. Vi kanske också vill bli av med alla data i en tabell helt enkelt, men utan tabellen, och vi kan använda Truncate-uttalande i SQL i ett sådant scenario. Trunkera är också ett DDL-kommando och det eliminerar alla rader i en tabell men bevarar tabelldefinitionen densamma för framtida användning.
Släpp kommando
Som nämnts tidigare tar bort Drop-kommandot tabelldefinitionen och alla dess data, integritetsbegränsningar, index, triggare och åtkomstbehörigheter, som skapades på den specifika tabellen. Så det släpper det befintliga objektet helt från databasen, och förhållandena till andra tabeller kommer inte längre att gälla efter att kommandot har körts. Dessutom tar det bort all information om tabellen från datalärordlistan. Följande är den typiska syntaxen för att använda Drop-uttalandet i en tabell.
SLÄPP BORD
Vi måste helt enkelt byta ut tabellnamnet som vi vill ta bort från databasen i ovanstående exempel på Drop-kommandot.
Det är viktigt att påpeka att Drop-uttalande inte kan användas för att ta bort en tabell, som redan har nämnts av en utländsk nyckelbegränsning. I så fall måste den hänvisande utländska nyckelbegränsningen eller den specifika tabellen först släppas. Drop-uttalande kan inte heller tillämpas på systemtabellerna i databasen.
Eftersom Drop-kommandot är ett auto-engagemangsförklaring, kan operationen när avfyrade inte rullas tillbaka och inga triggers kommer att avfyras. När en tabell tappas kommer alla referenser till tabellen inte att vara giltiga, och om vi vill använda tabellen igen måste den återskapas med alla integritetsbegränsningar och åtkomstbehörigheter. Alla förhållanden till de andra tabellerna måste också placeras igen.
Avkorta kommandot
Trunkeringskommando är ett DDL-kommando, och det tar bort alla raderna i en tabell utan några användarspecifika villkor och släpper utrymmet som används av tabellen, men tabellstrukturen med dess kolumner, index och begränsningar förblir densamma. Trunkering eliminerar data från en tabell genom att fördela datasidorna som används för att lagra tabelldata, och endast dessa sidodeallokationer finns i transaktionsloggen. Så det använder färre transaktionsloggresurser och systemresurser jämfört med andra relaterade SQL-kommandon som Delete. Så Trunkera är lite snabbare uttalande än andra. Följande är den typiska syntaxen för Trunkera-kommandot.
TRUNKATBORD
Vi bör ersätta tabellnamnet, från vilket vi vill ta bort hela data, i syntaxen ovan.
Trunkering kan inte användas på en tabell som har hänvisats till med en främmande nyckelbegränsning. Den använder en engagemang automatiskt innan den agerar och en annan begåvning efteråt så att återföring av transaktionen är omöjlig och inga triggers avfyras. Om vi vill återanvända tabellen behöver vi bara komma åt den befintliga tabelldefinitionen i databasen.
Vad är skillnaden mellan Drop och Trunkate?
Både Drop- och Trunkate-kommandon är DDL-kommandon och även auto commit-uttalanden så att transaktionerna som utförs med hjälp av dessa kommandon inte kan rullas tillbaka.
Den primära skillnaden mellan Drop och Truncate är att Drop-kommandot tar bort, inte bara alla data i en tabell, utan också att det tar bort tabellstrukturen permanent från databasen med alla referenser, medan Truncate-kommandot bara tar bort alla raderna i en tabell och det bevarar tabellstrukturen och dess referenser.
Om en tabell tappas kommer relationerna till andra tabeller inte längre att gälla och integritetsbegränsningarna och åtkomstbehörigheterna tas också bort. Så om tabellen måste återanvändas måste den rekonstrueras med relationerna, integritetsbegränsningarna och även åtkomstbehörigheterna. Men om en tabell är avkortad förblir tabellstrukturen och dess begränsningar för framtida användning, och så krävs ingen av ovanstående rekreationer för återanvändning.
När dessa kommandon tillämpas måste vi vara försiktiga med att använda dem. Vi bör också ha en bättre förståelse för arten av dessa kommandon, hur de fungerar och även en noggrann planering innan vi använder dem för att förhindra att saknar väsentligheter. Slutligen kan båda dessa kommandon användas för att rensa upp databaserna snabbt och enkelt, vilket förbrukar färre resurser.