Törlés vs csonkítás
Mindkét SQL (Structure Query Language), a Törlés és a Csonkolás paranccsal megszabadulhatunk az adatbázis tábláiban tárolt adatoktól. A Delete egy DML (Data Manipulation Language) utasítás, amely eltávolítja a táblázat egy részét vagy egészét. A „Hol záradék” a törlendő sorok megadására szolgál, és ha a Hol záradékot nem a Törlés utasítással használják, akkor a táblázat összes adatait eltávolítja. A Truncate egy DDL (Data Definition Language) utasítás, amely a teljes adatot eltávolítja a táblából. Mindkét parancs nem rombolja le a tábla felépítését és a táblára való hivatkozásokat, és csak az adatokat távolítja el szükség szerint.
Nyilatkozat törlése
A Delete utasítás lehetővé teszi a felhasználó számára, hogy egy megadott feltétel alapján eltávolítsa az adatokat egy adatbázis meglévő táblájából, és a feltétel meghatározásához a "Where záradékot" használják. A Delete parancsot naplózott végrehajtásnak nevezzük, mert egyszerre csak egy sort töröl, és a tranzakciós naplóban minden sor törléséhez megad egy bejegyzést. Tehát ez lassabbá teszi a műveletet. A Delete egy DML utasítás, ezért a parancs végrehajtása közben nem történik automatikusan végrehajtás. Ezért szükség esetén a Delete művelet visszagörgethető az adatok újbóli eléréséhez. A Delete parancs végrehajtása után azt el kell végezni vagy vissza kell állítani a változások végleges mentése érdekében. A utasítás törlése nem távolítja el a táblázat táblázatszerkezetét az adatbázisból. Nem osztja el a táblázat által használt memóriaterületet sem.
A Delete parancs tipikus szintaxisa az alábbiakban található.
TÖRLÉS
vagy
TÖRLÉS HOL
Csonka nyilatkozat
A Truncate utasítás eltávolítja az összes adatot egy adatbázis meglévő táblájáról, de megőrzi ugyanazt a tábla struktúrát, az integritási korlátokat, a hozzáférési jogosultságokat és a többi táblához való viszonyt is. Tehát nem szükséges újra meghatározni a táblázatot, és a régi tábla felépítése használható, ha a felhasználó újra szeretné használni a táblázatot. A Csonkolás az adatok megőrzéséhez használt adatoldalak elosztásával eltávolítja a teljes adatot, és csak ezeket az oldalkezeléseket tárolja a tranzakciós napló. Ezért a csonka parancs csak kevesebb rendszer- és tranzakciónapló-erőforrást használ fel a működéshez, tehát gyorsabb, mint a többi kapcsolódó parancs. A Truncate egy DDL parancs, ezért automatikus utasításokat használ a utasítás végrehajtása előtt és után. Ezért a csonkítás semmilyen módon nem tudja visszagurítani az adatokat. Felszabadítja a tábla által használt memóriaterületet a végrehajtás után. De a Truncate utasítás nem alkalmazható azokon a táblákon, amelyekre idegen kulcs korlátai hivatkoznak.
Az alábbiakban bemutatjuk a Csonka utasítás általános szintaxisát.
TRUNCATE TÁBLÁZAT
Mi a különbség a Törlés és a Csonkolás között? 1. A Törlés és a Csonkolás parancsok eltávolítják az adatokat az adatbázis létező tábláiból anélkül, hogy a tábla felépítését vagy a táblára való egyéb hivatkozásokat károsítanák. 2. A Törlés paranccsal azonban csak bizonyos sorokat lehet törölni egy táblázatból egy releváns feltétel használatával, vagy az összes sort feltétel nélkül törölni, míg a Csonk parancs csak a táblázat teljes adatainak törlésére használható. 3. A Delete egy DML parancs, amely szükség esetén visszagörgetheti a műveletet, de a Truncate egy DDL parancs, tehát automatikus véglegesítési utasítás, és semmilyen módon nem állítható vissza. Ezért fontos ezt a parancsot gondosan használni az adatbázis-kezelésben. 4. A csonkolás művelet kevesebb rendszererőforrást és tranzakciónapló-erőforrást fogyaszt, mint a Törlés művelet, ezért a Csonkítás gyorsabbnak tekinthető, mint a Törlés művelet. 5. Ezenkívül a Delete nem osztja le a táblázat által használt helyet, míg a Truncate felszabadítja a végrehajtás után használt helyet, így a Delete nem hatékony abban az esetben, ha a teljes adatot törli egy adatbázis táblából. 6. Azonban a Csonkolás nem használható, ha a táblára idegen kulcs kényszer hivatkozik, és ebben az esetben a Törlés parancs használható a Csonkolás helyett. 7. Végül, mindkét parancsnak vannak előnyei és hátrányai is az adatbázis-kezelő rendszerekben történő alkalmazásuk során, és a felhasználónak tisztában kell lennie azzal, hogy ezeket a parancsokat megfelelően használja a jó eredmények elérése érdekében. |