Rozdiel medzi Delete a Truncate

Rozdiel medzi Delete a Truncate
Rozdiel medzi Delete a Truncate

Video: Rozdiel medzi Delete a Truncate

Video: Rozdiel medzi Delete a Truncate
Video: SSH: Протокол удаленного защищенного доступа 2024, November
Anonim

Odstrániť vs. skrátiť

Príkazy SQL (Structure Query Language), Delete a Truncate sa používajú na odstránenie údajov uložených v tabuľkách v databáze. Delete je príkaz DML (Data Manipulation Language) a odstraňuje niektoré alebo všetky riadky tabuľky. Klauzula „Where“sa používa na určenie riadkov, ktoré je potrebné odstrániť, a ak sa klauzula Where nepoužíva s príkazom Delete, odstráni všetky údaje v tabuľke. Truncate je príkaz DDL (Data Definition Language) a odstraňuje celé údaje z tabuľky. Oba tieto príkazy nezničia štruktúru tabuľky a odkazy na tabuľku a podľa potreby sa odstránia iba údaje.

Odstrániť výpis

Príkaz Delete umožňuje používateľovi odstrániť údaje z existujúcej tabuľky v databáze na základe špecifikovanej podmienky a na určenie tejto podmienky sa používa klauzula „Where“. Príkaz na vymazanie sa označuje ako zaznamenané vykonanie, pretože vymaže iba jeden riadok naraz a zachová záznam pre každé vymazanie riadku v protokole transakcií. To spôsobuje spomalenie operácie. Delete je príkaz DML, a preto nie je automaticky potvrdený pri vykonávaní príkazu. Operáciu Delete je preto možné v prípade potreby vrátiť späť a znova získať prístup k údajom. Po vykonaní príkazu Delete by sa mal príkaz potvrdiť alebo vrátiť späť, aby sa zmeny natrvalo uložili. Príkaz Delete neodstráni štruktúru tabuľky z databázy. Taktiež neuvoľňuje miesto v pamäti používanej tabuľkou.

Typická syntax pre príkaz Delete je uvedená nižšie.

VYMAZAŤ Z

alebo

VYMAZAŤ OD KDE

Vyhlásenie o skrátení

Príkaz Skrátiť odstráni všetky údaje z existujúcej tabuľky v databáze, ale zachová rovnakú štruktúru tabuľky, aj obmedzenia integrity, prístupové privilégiá a vzťahy s ostatnými tabuľkami. Takže nie je potrebné znova definovať tabuľku a ak chce používateľ tabuľku znova použiť, môže sa použiť stará štruktúra tabuľky. Truncate odstráni celé údaje uvoľnením údajových stránok používaných na uchovávanie údajov a v protokole transakcií sa uchovávajú iba tieto uvoľnenia stránok. Preto príkaz skrátenia využíva na prevádzku iba menej zdrojov systému a denníka transakcií, takže je rýchlejší ako iné súvisiace príkazy. Truncate je príkaz DDL, takže používa automatické záväzky pred a po vykonaní príkazu. Skrátenie teda nemôže žiadnym spôsobom vrátiť údaje späť. Po vykonaní uvoľní pamäťový priestor, ktorý používa tabuľka. Ale príkaz Truncate nemožno použiť na tabuľky, na ktoré odkazujú obmedzenia cudzieho kľúča.

Nasleduje bežná syntax pre príkaz Truncate.

SKRÁŽAŤ TABUĽKU

Aký je rozdiel medzi Delete a Truncate?

1. Príkazy Delete a Truncate odstraňujú údaje z existujúcich tabuliek v databáze bez poškodenia štruktúry tabuľky alebo iných odkazov na tabuľku.

2. Príkaz Delete však možno použiť na vymazanie konkrétnych riadkov iba v tabuľke s použitím relevantnej podmienky alebo na vymazanie všetkých riadkov bez akejkoľvek podmienky, zatiaľ čo príkaz Truncate možno použiť iba na vymazanie celých údajov v tabuľke.

3. Delete je príkaz DML a v prípade potreby môže operáciu vrátiť späť, ale Truncate je príkaz DDL, takže ide o príkaz automatického potvrdenia a nemožno ho žiadnym spôsobom vrátiť späť. Preto je dôležité používať tento príkaz pri správe databázy opatrne.

4. Operácia skrátenia spotrebuje menej systémových prostriedkov a zdrojov denníka transakcií ako operácia Delete, preto sa skrátenie považuje za rýchlejšie ako Delete.

5. Funkcia Delete tiež neuvoľňuje priestor, ktorý používa tabuľka, zatiaľ čo funkcia Truncate uvoľňuje priestor použitý po vykonaní, takže Delete nie je efektívne v prípade vymazania celých údajov z databázovej tabuľky.

6. Funkciu Truncate však nemožno použiť, keď na tabuľku odkazuje obmedzenie cudzieho kľúča, a v takom prípade možno namiesto príkazu Truncate použiť príkaz Delete.

7. Napokon, oba tieto príkazy majú výhody a tiež nevýhody pri ich aplikácii v systéme správy databáz a používateľ by si mal byť vedomý toho, že tieto príkazy správne používa na dosiahnutie dobrých výsledkov.

Odporúča: