Különbség a törlés és a csonkítás között

Különbség a törlés és a csonkítás között
Különbség a törlés és a csonkítás között

Videó: Különbség a törlés és a csonkítás között

Videó: Különbség a törlés és a csonkítás között
Videó: SSH, SCP, SFTP and FileZilla 2024, November
Anonim

Törlés vs csonkítás

Mindkét SQL (Structure Query Language) parancs, a Törlés és a Csonkolás az adatbázis tábláiban tárolt adatok eltávolítására szolgál. A törlés egy DML (Data Manipulation Language) utasítás, és eltávolítja a táblázat néhány vagy összes sorát. A „Where záradék” a törölni kívánt sorok megadására szolgál, és ha a Where záradékot nem használja a Delete utasítással, akkor eltávolítja a táblázat összes adatát. A Truncate egy DDL (Data Definition Language) utasítás, és eltávolítja a teljes adatot a táblából. Mindkét parancs nem semmisíti meg a tábla szerkezetét és a táblára való hivatkozásokat, és csak az adatokat távolítja el szükség szerint.

Kivonat törlése

A Delete utasítás lehetővé teszi a felhasználó számára, hogy egy adott feltétel alapján eltávolítson adatokat egy adatbázisban lévő meglévő táblából, és a „Where” záradékot használják ennek a feltételnek a meghatározására. A Törlés parancsot naplózott végrehajtásnak nevezzük, mivel egyszerre csak egy sort töröl, és minden egyes sortörlésről bejegyzést tart a tranzakciónaplóban. Tehát ez lelassítja a műveletet. A törlés egy DML-utasítás, ezért a parancs végrehajtása során nem véglegesítik automatikusan. Ezért a Törlés műveletet vissza lehet állítani, hogy újból hozzáférhessen az adatokhoz, ha szükséges. A Törlés parancs végrehajtása után véglegesíteni kell vagy vissza kell állítani a változtatások végleges mentéséhez. A Delete utasítás nem távolítja el a tábla táblaszerkezetét az adatbázisból. Ezenkívül nem szabadítja fel a tábla által használt memóriaterületet.

A Delete parancs tipikus szintaxisa alább látható.

TÖRLÉS A KÉSZÜLÉKBŐL

vagy

TÖRLÉS AHOnnan

Kijelentés csonkolása

A Truncate utasítás eltávolítja az összes adatot egy adatbázisban lévő meglévő táblából, de megőrzi ugyanazt a táblaszerkezetet, az integritási megszorításokat, a hozzáférési jogosultságokat és a többi táblához fűződő kapcsolatokat is. Tehát nem szükséges újra definiálni a táblát, és a régi táblaszerkezet használható, ha a felhasználó újra szeretné használni a táblát. A csonkítás a teljes adatot eltávolítja az adatok tárolására használt adatlapok felosztásával, és csak ezek az oldalfelosztások kerülnek tárolásra a tranzakciós naplóban. Ezért a truncate parancs csak kevesebb rendszer- és tranzakciónapló-erőforrást használ a működéshez, így gyorsabb, mint a többi kapcsolódó parancs. A Truncate egy DDL-parancs, tehát automatikus kötelezettségvállalásokat használ az utasítás végrehajtása előtt és után. Ezért a csonkítás semmilyen módon nem tudja visszagörgetni az adatokat. A végrehajtás után felszabadítja a tábla által használt memóriaterületet. A Truncate utasítás azonban nem alkalmazható azokon a táblákon, amelyekre idegen kulcs megszorítások hivatkoznak.

A következő a Truncate utasítás általános szintaxisa.

TÁBLÁZAT CSONKÍTÁSA

Mi a különbség a törlés és a csonkítás között?

1. A Törlés és Csonkolás parancsok eltávolítják az adatokat az adatbázisban lévő meglévő táblákból anélkül, hogy károsítanák a tábla szerkezetét vagy a táblára mutató egyéb hivatkozásokat.

2. A Delete paranccsal azonban csak egy adott tábla sorait lehet törölni egy releváns feltétellel, vagy az összes sort feltétel nélkül törölheti, míg a Csonkítás parancs csak a táblázat teljes adatának törlésére használható.

3. A Delete egy DML parancs, és szükség esetén vissza tudja görgetni a műveletet, de a Truncate egy DDL parancs, tehát egy automatikus véglegesítési utasítás, és semmilyen módon nem görgethető vissza. Ezért fontos ezt a parancsot óvatosan használni az adatbáziskezelés során.

4. A csonkítá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.

5. Ezenkívül a Delete nem szabadítja fel a tábla által használt területet, míg a Truncate felszabadítja a végrehajtás után felhasznált területet, így a Törlés nem hatékony abban az esetben, ha a teljes adatot töröljük egy adatbázistáblából.

6. A Csonkolás azonban nem használható, ha a táblára idegenkulcs-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 való alkalmazásukban, és a felhasználónak tisztában kell lennie ezen parancsok megfelelő használatával a jó eredmények elérése érdekében.

Ajánlott: