Drop vs Truncate

Drop and Truncate sú dva príkazy SQL (Structured Query Language), ktoré sa používajú v systémoch správy databáz, kde chceme odstrániť dátové záznamy z databázy. Príkazy Drop aj Truncate odstraňujú celé údaje z tabuľky a súvisiaci príkaz SQL. Operácia vymazania nie je v tomto prípade účinná, pretože používa viac úložných priestorov ako Drop and Truncate.

V prípade, že chceme zahodiť tabuľku v databáze spolu so všetkými jej údajmi, SQL nám to umožňuje jednoducho vykonať pomocou príkazu Drop. Príkaz Drop je príkaz DDL (Data Definition Language) a dá sa použiť na zničenie existujúcej databázy, tabuľky, indexu alebo zobrazenia. Vymaže všetky informácie z tabuľky, ako aj štruktúru tabuľky z databázy. Tiež by sme sa mohli chcieť zbaviť všetkých údajov v tabuľke jednoducho, ale bez tabuľky, a v takom prípade môžeme použiť príkaz skrátiť v SQL. Skrátiť je tiež príkazom DDL a eliminuje všetky riadky v tabuľke, ale zachová definíciu tabuľky pre budúce použitie.

Drop príkaz

Ako už bolo spomenuté, príkaz Drop odstráni definíciu tabuľky a všetky jej údaje, obmedzenia integrity, indexy, spúšťače a prístupové privilégiá, ktoré boli vytvorené v danej tabuľke. Tým úplne vynechá existujúci objekt z databázy a vzťahy s ostatnými tabuľkami už nebudú po vykonaní príkazu platné. Odstráni tiež všetky informácie o tabuľke z dátového slovníka. Nasleduje typická syntax pre použitie príkazu Drop v tabuľke.

TABUĽKA DROP

Vo vyššie uvedenom príklade príkazu Drop musíme jednoducho nahradiť názov tabuľky, ktorú chceme odstrániť z databázy.

Je dôležité zdôrazniť, že príkaz Drop nemožno použiť na vymazanie tabuľky, na ktorú už bolo zadané obmedzenie cudzím kľúčom. V takom prípade by najprv malo byť zrušené obmedzenie odkazujúceho cudzieho kľúča alebo konkrétna tabuľka. Príkaz Drop tiež nemožno použiť na systémové tabuľky v databáze.

Pretože príkaz Drop je príkazom automatického potvrdenia, operácia raz spustená nemôže byť vrátená späť a nebudú spustené žiadne spúšťače. Keď sa tabuľka zruší, všetky odkazy na tabuľku nebudú platné, a ak teda chceme tabuľku znova použiť, musí sa znova vytvoriť so všetkými obmedzeniami integrity a prístupovými právami. Všetky vzťahy s ostatnými tabuľkami sa musia tiež lokalizovať znova.

Skrátiť príkaz

Príkaz Skrátiť je príkaz DDL a odstráni všetky riadky v tabuľke bez akýchkoľvek podmienok určených používateľom a uvoľní miesto, ktoré tabuľka používa, ale štruktúra tabuľky so svojimi stĺpcami, indexmi a obmedzeniami zostáva rovnaká. Skrátenie eliminuje údaje z tabuľky rozdelením dátových stránok, ktoré sa používajú na ukladanie údajov tabuľky, av protokole transakcií sa uchovávajú iba tieto umiestnenia strán. Preto využíva menej prostriedkov denníka transakcií a systémových prostriedkov v porovnaní s inými súvisiacimi príkazmi SQL, ako je napríklad Delete. Truncate je teda o niečo rýchlejší výrok ako ostatní. Nasleduje typická syntax príkazu Skrátiť.

SKRUTKA TABUĽKA

V uvedenej syntaxi by sme mali nahradiť názov tabuľky, z ktorej chceme odstrániť všetky údaje.

Skrátenie sa nedá použiť na tabuľke, na ktorú sa odkazuje obmedzenia cudzieho kľúča. Použije odovzdanie automaticky predtým, ako začne konať a ďalšie odovzdanie následne, takže nie je možné vrátiť transakciu a nespustia sa žiadne spúšťače. Ak chceme tabuľku znovu použiť, potrebujeme prístup iba k existujúcej definícii tabuľky v databáze.

Aký je rozdiel medzi Drop a Truncate?

Príkazy Drop aj Truncate sú príkazy DDL a tiež príkazy automatického potvrdenia, takže transakcie vykonané pomocou týchto príkazov nemožno vrátiť späť.

Primárny rozdiel medzi Drop a Truncate je ten, že príkaz Drop odstráni nielen všetky údaje v tabuľke, ale natrvalo odstráni štruktúru tabuľky zo všetkých odkazov, zatiaľ čo príkaz Truncate odstráni iba všetky riadky v tabuľke. a zachováva štruktúru tabuľky a jej referencie.

Ak sa tabuľka zruší, vzťahy s ostatnými tabuľkami už nebudú platné a odstránia sa aj obmedzenia integrity a prístupové oprávnenia. Ak sa od tabuľky vyžaduje opätovné použitie, musí sa zrekonštruovať so vzťahmi, obmedzeniami integrity a tiež prístupovými oprávneniami. Ak je však tabuľka skrátená, štruktúra tabuľky a jej obmedzenia zostávajú pre budúce použitie, a preto sa na opätovné použitie nevyžaduje žiadna z vyššie uvedených obnovení.

Keď sa tieto príkazy použijú, musíme byť opatrní pri ich používaní. Mali by sme tiež lepšie porozumieť povahe týchto príkazov, ich fungovaniu a tiež dôkladnému plánovaniu pred ich použitím, aby sme predišli chýbajúcim základom. Nakoniec je možné oba tieto príkazy použiť na rýchle a ľahké vyčistenie databáz, čo vyžaduje menej zdrojov.