Erinevus kustutamise ja kärpimise vahel

Erinevus kustutamise ja kärpimise vahel
Erinevus kustutamise ja kärpimise vahel

Video: Erinevus kustutamise ja kärpimise vahel

Video: Erinevus kustutamise ja kärpimise vahel
Video: Ошибки SCP SFTP SSH 2024, Juuli
Anonim

Kustuta vs kärbimine

Andmebaasi tabelitesse salvestatud andmetest vabanemiseks kasutatakse mõlemat SQL-i (Struktuuripäringu keele) käsku, Kustuta ja Kärbi. Kustuta on DML-i (Data Manipulation Language) avaldus ja see eemaldab mõned või kõik tabeli read. „Where-klauslit” kasutatakse kustutatavate ridade täpsustamiseks ja kui klauslit Where ei kasutata koos Delete-lausega, eemaldab see kõik tabelis olevad andmed. Kärbimine on DDL-i (Data Definition Language) lause ja see eemaldab tabelist kogu andmed. Mõlemad käsud ei hävita tabeli struktuuri ja viiteid tabelile ning vajaduse korral eemaldatakse ainult andmed.

Kustuta avaldus

Kustutuskäsk võimaldab kasutajal eemaldada andmed olemasolevast andmebaasi tabelist määratud tingimuse alusel ja selle tingimuse määramiseks kasutatakse klauslit „Where”. Kustutuskäsku nimetatakse logitud täitmiseks, kuna see kustutab korraga ainult ühe rea ja säilitab tehingulogis kirje iga rea kustutamise kohta. Seega muudab see toimingu aeglasemaks. Kustuta on DML-lause ja seega ei võeta seda käsu täitmise ajal automaatselt sisse. Seetõttu saab andmetele uuesti juurde pääsemiseks vajaduse korral toimingu Kustuta tagasi pöörata. Pärast käsu Kustuta täitmist tuleb see muudatuste püsivaks salvestamiseks siduda või tagasi võtta. Kustuta käsk ei eemalda tabeli tabelistruktuuri andmebaasist. Samuti ei eralda see tabeli kasutatavat mäluruumi.

Tüüpiline kustutamiskäsu süntaks on toodud allpool.

KUSUTA ALAST

või

KUSUTA KUST

Kärbi lause

Truncate käsk eemaldab andmebaasis olevast tabelist kõik andmed, kuid säilitab sama tabelistruktuuri, ka terviklikkuse piirangud, juurdepääsuõigused ja seosed teiste tabelitega. Seega ei pea tabelit uuesti defineerima ning kui kasutaja soovib tabelit uuesti kasutada, saab kasutada vana tabeli struktuuri. Kärbimine eemaldab kogu andmed, eraldades andmete säilitamiseks kasutatavad andmelehed, ja tehingulogis hoitakse ainult neid lehtede eraldamisi. Seetõttu kasutab kärbimise käsk tööks vaid vähem süsteemi- ja tehingulogi ressursse, seega on see kiirem kui muud seotud käsud. Kärbi on DDL-käsk, seega kasutab see automaatseid kohustusi enne ja pärast avalduse täitmist. Seega ei saa kärpimine andmeid mingil viisil uuesti tagasi kerida. See vabastab pärast täitmist tabeli kasutatud mäluruumi. Kuid käsku Kärbi ei saa rakendada tabelites, millele viidatakse võõrvõtmepiirangutega.

Järgmine on käsk Kärpimise tavaline süntaks.

KÄRBI TABEL

Mis vahe on kustutamisel ja kärpimisel?

1. Kustuta ja kärbi käsud eemaldavad andmed andmebaasis olemasolevatest tabelitest, kahjustamata tabeli struktuuri või muid viiteid tabelile.

2. Kuid käsku Kustuta saab kasutada ainult tabelis konkreetsete ridade kustutamiseks, kasutades asjakohast tingimust, või kõigi ridade kustutamiseks ilma ühegi tingimuseta, samas kui käsku Kärbi saab kasutada ainult kogu tabelis olevate andmete kustutamiseks.

3. Kustuta on DML-käsk ja see võib vajaduse korral toimingu tagasi pöörata, kuid kärpimine on DDL-käsk, seega on see automaatse sissekandmise avaldus ja seda ei saa mingil viisil tagasi pöörata. Seetõttu on oluline seda käsku andmebaasihalduses hoolik alt kasutada.

4. Kärbi operatsioon kulutab vähem süsteemiressursse ja tehingulogi ressursse kui toiming Kustuta, seetõttu peetakse kärpimist kiiremaks kui kustutamist.

5. Samuti ei vabasta kustutamine tabeli kasutatavat ruumi, samas kui kärpimine vabastab pärast täitmist kasutatud ruumi, nii et kustutamine pole efektiivne kogu andmete andmebaasi tabelist kustutamisel.

6. Kärbimist pole aga lubatud kasutada, kui tabelile viidatakse võõrvõtmepiiranguga ja sel juhul saab Kärbimise asemel kasutada käsku Kustuta.

7. Lõpuks on mõlemal käsul eelised ja ka puudused nende rakendamisel andmebaasihaldussüsteemides ning kasutaja peaks olema teadlik nende käskude õigest kasutamisest, et saavutada häid tulemusi.

Soovitan: