Különbség A Csepp és A Csonkítás Között

Különbség A Csepp és A Csonkítás Között
Különbség A Csepp és A Csonkítás Között

Videó: Különbség A Csepp és A Csonkítás Között

Videó: Különbség A Csepp és A Csonkítás Között
Videó: Mi jöhet a jelenlegi világrend összedőlése után? - Alternatív jövőépítési modellek - Varga Csaba 2024, Április
Anonim

Csepp vs csonka

A Drop and Truncate két SQL (strukturált lekérdezési nyelv) utasítás, amelyeket az adatbázis-kezelő rendszerekben használnak, ahol az adatrekordokat el akarjuk távolítani az adatbázisból. A Drop és a Truncate utasítások eltávolítják a táblázat teljes adatait és a kapcsolódó SQL utasítást. A törlési művelet ebben az esetben nem hatékony, mert több tárhelyet használ, mint a Drop and Truncate.

Abban az esetben, ha egy táblázatot el akarunk dobni egy adatbázisból, annak összes adatával együtt, az SQL lehetővé teszi számunkra, hogy ezt egyszerűen elvégezzük a Drop utasítással. A Drop parancs egy DDL (Data Definition Language) parancs, amely meglévő adatbázis, táblázat, index vagy nézet megsemmisítésére használható. Törli a táblázatban található teljes információt, valamint a táblázat felépítését az adatbázisból. Lehetséges, hogy egyszerűen, de a táblázat nélkül meg akarunk szabadulni a táblázat összes adattól, és egy ilyen forgatókönyv esetén használhatjuk a Truncate utasítást az SQL-ben. A Truncate egyben DDL parancs is, amely kiküszöböli a táblázat összes sorát, de a tábla definícióját megőrzi a jövőbeni felhasználásra.

Drop parancs

Amint azt korábban említettük, a Drop parancs eltávolítja a táblázat definícióját és annak minden adatait, integritási korlátjait, indexeit, triggerjeit és hozzáférési jogosultságait, amelyeket az adott táblán hoztak létre. Tehát a meglévő objektumot teljesen ledobja az adatbázisból, és a többi táblához való viszony szintén nem lesz érvényes a parancs végrehajtása után. Eltávolítja a táblával kapcsolatos összes információt az adatszótárból. Az alábbiakban bemutatjuk a Drop utasítás tábla használatának tipikus szintaxisát.

DROP TÁBLÁZAT

Egyszerűen le kell cserélnünk a tábla nevét, amelyet el akarunk távolítani az adatbázisból, a Drop parancs fenti példájában.

Fontos kiemelni, hogy a Drop utasítással nem lehet törölni egy táblát, amelyre már hivatkozott egy idegen kulcs kényszer. Ebben az esetben először a hivatkozó idegen kulcs korlátozását vagy az adott táblázatot kell eldobni. A Drop utasítás nem alkalmazható az adatbázis rendszertábláin.

Mivel a Drop parancs automatikus elkötelezettség-utasítás, az egyszer elindított műveletet nem lehet visszagörgetni, és nem indítanak triggereket. Ha egy táblát eldobunk, a táblára való összes hivatkozás nem lesz érvényes, ezért ha újra használni akarjuk a táblázatot, akkor azt vissza kell állítani minden integritási korlátozással és hozzáférési jogosultsággal. Az összes kapcsolatot a többi táblával szintén meg kell találni.

Csonka parancs

A Csonk parancs egy DDL parancs, amely eltávolítja a tábla összes sorát a felhasználó által megadott feltételek nélkül, és felszabadítja a tábla által használt helyet, de a tábla szerkezete az oszlopokkal, indexekkel és megszorításokkal ugyanaz marad. A Truncate kiküszöböli az adatokat egy táblából azáltal, hogy elosztja a táblaadatok tárolásához használt adatlapokat, és csak ezeket az oldalkereket tárolja a tranzakciós napló. Tehát kevesebb tranzakciónapló-erőforrást és rendszererőforrást használ fel, mint más kapcsolódó SQL-parancsok, például a Delete. Tehát a Csonka egy kicsit gyorsabb nyilatkozat, mint mások. Az alábbiakban a Csonkolás parancs tipikus szintaxisa található.

TRUNCATE TÁBLÁZAT

A táblázat nevét, amelyből a teljes adatot el akarjuk távolítani, a fenti szintaxisban kell kicserélnünk.

A Csonkolás nem használható olyan táblán, amelyre idegen kulcs korlátozása hivatkozott. Automatikusan alkalmaz egy elkötelezettséget, mielőtt cselekszik, és egy másik elkötelezettséget később, így a tranzakció visszagörgetése lehetetlen, és nem indítanak triggereket. Ha újra fel akarjuk használni a táblázatot, akkor csak az adatbázisban lévő meglévő tábla definícióhoz kell hozzáférnünk.

Mi a különbség a Drop és a Truncate között?

A Drop és a Truncate parancsok egyaránt DDL parancsok, és automatikus végrehajtási utasításokat is tartalmaznak, így az ezen parancsokkal végrehajtott tranzakciók nem gördíthetők vissza.

Az elsődleges különbség a Dobás és a Csonkolás között az, hogy a Dobás parancs nemcsak a táblázat összes adatait, hanem a tábla struktúráját is véglegesen eltávolítja az adatbázisból az összes hivatkozással, míg a Csonk parancs csak a tábla összes sorát eltávolítja, és megőrzi a táblázat felépítését és hivatkozásait.

Ha eldob egy táblát, akkor a többi táblához való kapcsolatok már nem érvényesek, és az integritási korlátozások és a hozzáférési jogosultságok is megszűnnek. Tehát, ha a táblázatot újrafelhasználásra van szükség, akkor azt a kapcsolatokkal, az integritási korlátokkal és a hozzáférési jogosultságokkal kell rekonstruálni. De ha egy táblát csonkolunk, akkor a tábla felépítése és annak korlátai megmaradnak a jövőbeni felhasználáshoz, ezért a fenti kikapcsolódások egyikére sincs szükség újrafelhasználáshoz.

Ezeknek a parancsoknak az alkalmazásakor óvatosnak kell lennünk azok használatában. Ezenkívül jobban meg kell értenünk ezeknek a parancsoknak a természetét, működését, és gondosan meg kell terveznünk a használatukat, mielőtt megakadályoznánk a lényeges elemek hiányát. Végül mindkét parancs használható az adatbázisok gyors és egyszerű megtisztítására, kevesebb erőforrás felhasználásával.

Ajánlott: