Rozdiel medzi Drop a Truncate

Rozdiel medzi Drop a Truncate
Rozdiel medzi Drop a Truncate

Video: Rozdiel medzi Drop a Truncate

Video: Rozdiel medzi Drop a Truncate
Video: Introduction to limits | Limits | Differential Calculus | Khan Academy 2024, November
Anonim

Drop vs. Truncate

Drop a 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 a Truncate odstránia všetky údaje v tabuľke a súvisiaci príkaz SQL. Operácia odstránenia nie je v tomto prípade účinná, pretože využíva viac úložného priestoru ako Drop and Truncate.

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

Drop command

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é pre túto konkrétnu tabuľku. Existujúci objekt sa teda úplne vypustí z databázy a po vykonaní príkazu prestanú platiť vzťahy k iným tabuľkám. Tiež odstráni všetky informácie o tabuľke z údajového slovníka. Nasleduje typická syntax pre použitie príkazu Drop na tabuľke.

DROP TABLE

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

Je dôležité zdôrazniť, že príkaz Drop nemožno použiť na odstránenie tabuľky, na ktorú už odkazovalo obmedzenie cudzieho kľúča. V takom prípade by sa najprv malo zrušiť obmedzenie cudzieho kľúča alebo konkrétnej tabuľky. Príkaz Drop tiež nemožno použiť na systémové tabuľky v databáze.

Vzhľadom na to, že príkaz Drop je príkazom s automatickým potvrdením, už spustenú operáciu nemožno vrátiť späť a nespustia sa žiadne spúšťače. Keď sa tabuľka zruší, všetky odkazy na tabuľku nebudú platné, a preto, ak chceme tabuľku znova použiť, musíme ju znova vytvoriť so všetkými obmedzeniami integrity a prístupovými privilégiami. Všetky vzťahy s ostatnými tabuľkami musia byť tiež umiestnené znova.

Skrátiť príkaz

Príkaz Skrátiť je príkaz DDL a odstraňuje všetky riadky v tabuľke bez akýchkoľvek podmienok špecifikovaných používateľom a uvoľňuje priestor, ktorý tabuľka využíva, ale štruktúra tabuľky so stĺpcami, indexmi a obmedzeniami zostáva rovnaká. Truncate eliminuje údaje z tabuľky uvoľnením údajových stránok používaných na ukladanie údajov tabuľky a iba tieto uvoľnenia stránok sa uchovávajú v protokole transakcií. V porovnaní s inými súvisiacimi príkazmi SQL, ako je Delete, teda využíva menej zdrojov protokolu transakcií a systémových prostriedkov. Truncate je teda o niečo rýchlejší príkaz ako ostatné. Nasleduje typická syntax príkazu Truncate.

SKRÁŽAŤ TABUĽKU

Názov tabuľky, z ktorej chceme odstrániť všetky údaje, by sme mali nahradiť vyššie uvedenou syntaxou.

Skrátenie nemožno použiť v tabuľke, na ktorú odkazuje obmedzenie cudzieho kľúča. Automaticky používa potvrdenie predtým, ako zareaguje, a ďalšie potvrdenie potom, takže vrátenie transakcie nie je možné a nespúšťajú sa žiadne spúšťače. Ak chceme tabuľku znova použiť, potrebujeme iba prístup 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äť.

Hlavný rozdiel medzi Drop a Truncate je v tom, že príkaz Drop odstráni nielen všetky údaje v tabuľke, ale natrvalo odstráni štruktúru tabuľky z databázy so všetkými odkazmi, zatiaľ čo príkaz Truncate odstráni iba všetky riadkov v tabuľke a zachováva štruktúru tabuľky a jej odkazy.

Ak sa tabuľka zruší, vzťahy s inými tabuľkami už nebudú platné a budú odstránené aj obmedzenia integrity a prístupové privilégiá. Ak sa teda vyžaduje opätovné použitie tabuľky, musí sa zrekonštruovať so vzťahmi, obmedzeniami integrity a tiež prístupovými privilégiami. Ak je však tabuľka skrátená, štruktúra tabuľky a jej obmedzenia zostanú pre budúce použitie, takže na opätovné použitie nie je potrebná žiadna z vyššie uvedených zmien.

Pri použití týchto príkazov musíme byť pri ich používaní opatrní. Mali by sme tiež lepšie porozumieť podstate týchto príkazov, ich fungovaniu a tiež dôkladnému plánovaniu pred ich použitím, aby sme predišli vynechaniu základných prvkov. Nakoniec, oba tieto príkazy možno použiť na rýchle a jednoduché vyčistenie databáz, pričom spotrebuje menej zdrojov.

Odporúča: