Diferența Dintre Ștergere și Trunchiere

Diferența Dintre Ștergere și Trunchiere
Diferența Dintre Ștergere și Trunchiere

Video: Diferența Dintre Ștergere și Trunchiere

Video: Diferența Dintre Ștergere și Trunchiere
Video: 15 lucruri la care trebuie să renunți pentru a fi fericită 2024, Aprilie
Anonim

Ștergeți vs Trunchiați

Ambele comenzi SQL (Structure Query Language), Delete și Truncate sunt utilizate pentru a scăpa de datele stocate în tabele dintr-o bază de date. Șterge este o instrucțiune DML (Data Manipulation Language) și elimină unele sau toate rândurile unui tabel. „Clauza Where” este utilizată pentru a specifica rândurile care trebuie șterse, iar dacă clauza Where nu este utilizată cu instrucțiunea Delete, elimină toate datele din tabel. Truncate este o instrucțiune DDL (Data Definition Language) și elimină date întregi din tabel. Ambele comenzi nu distrug structura tabelului și referințele la tabel și numai datele sunt eliminate, după cum este necesar.

Ștergeți declarația

Instrucțiunea Delete permite utilizatorului să elimine date dintr-un tabel existent într-o bază de date pe baza unei condiții specificate, iar „clauza Where” este utilizată pentru determinarea acestei condiții. Comanda Ștergere este denumită o execuție înregistrată, deoarece șterge doar un rând la rând și păstrează o intrare pentru fiecare ștergere a rândului în jurnalul de tranzacții. Deci, acest lucru face ca operațiunea să fie mai lentă. Șterge este o instrucțiune DML, deci nu este angajată automat în timpul executării comenzii. Prin urmare, operația Ștergere poate fi derulată înapoi pentru a accesa din nou datele, dacă este necesar. După executarea comenzii Ștergere, ar trebui să fie comisă sau redusă pentru a salva modificările permanent. Instrucțiunea Delete nu elimină structura tabelului tabelului din baza de date. De asemenea, nu alocă spațiul de memorie utilizat de tabel.

Sintaxa tipică pentru comanda Delete este menționată mai jos.

ȘTERGEȚI DIN

sau

ȘTERGEȚI DE UNDE

Declarație trunchiată

Instrucțiunea Truncate elimină toate datele dintr-un tabel existent într-o bază de date, dar păstrează aceeași structură a tabelului, precum și constrângerile de integritate, privilegiile de acces și relațiile cu alte tabele. Deci, nu este necesar să se definească din nou tabelul, iar vechea structură a tabelului poate fi utilizată, dacă utilizatorul dorește să refolosească din nou tabelul. Trunchierea elimină datele întregi prin alocarea paginilor de date utilizate pentru păstrarea datelor și numai aceste alocări de pagini sunt păstrate în jurnalul de tranzacții. Prin urmare, comanda trunchie utilizează doar mai puține resurse de sistem și jurnal de tranzacții pentru operare, deci este mai rapidă decât alte comenzi conexe. Truncate este o comandă DDL, deci folosește angajamente automate înainte și după executarea declarației. Prin urmare, trunchierea nu poate derula din nou datele în niciun fel. Eliberează spațiul de memorie utilizat de tabel după executare. Dar declarația Truncate nu poate fi aplicată pe tabelele la care se face referire prin constrângeri de cheie străină.

Urmează sintaxa comună pentru instrucțiunea Truncate.

TABLE TRUNCATE

Care este diferența dintre Ștergere și Trunchiere?

1. Comenzile Ștergere și Trunchiere elimină datele din tabelele existente într-o bază de date fără a afecta structura tabelului sau alte referințe la tabel.

2. Cu toate acestea, comanda Șterge poate fi utilizată pentru a șterge anumite rânduri numai într-un tabel utilizând o condiție relevantă sau pentru a șterge toate rândurile fără nicio condiție, în timp ce comanda Trunchie poate fi utilizată numai pentru ștergerea întregilor date din tabel.

3. Ștergerea este o comandă DML și poate derula operațiunea înapoi dacă este necesar, dar Trunchia este o comandă DDL, deci este o instrucțiune auto commit și nu poate fi derulată în niciun fel. Deci, este important să utilizați cu atenție această comandă în gestionarea bazelor de date.

4. Operația de trunchiere consumă mai puține resurse de sistem și resurse din jurnalul de tranzacții decât operația Ștergere, prin urmare, Trunchierea este considerată mai rapidă decât Ștergere.

5. De asemenea, Ștergere nu alocă spațiul utilizat de tabel, în timp ce Trunchia eliberează spațiul folosit după executare, astfel încât Ștergere nu este eficient în cazul ștergerii întregii date dintr-un tabel de baze de date.

6. Cu toate acestea, Truncate nu este permis să se utilizeze atunci când tabelul este menționat de o constrângere de cheie străină și, în acest caz, comanda Șterge poate fi utilizată în locul Truncate.

7. În cele din urmă, ambele comenzi au avantaje și, de asemenea, dezavantaje în aplicarea lor în sistemele de gestionare a bazelor de date, iar utilizatorul ar trebui să fie conștient de utilizarea acestor comenzi în mod adecvat pentru a obține rezultate bune.

Recomandat: