Razlika između brisanja i skraćivanja

Razlika između brisanja i skraćivanja
Razlika između brisanja i skraćivanja

Video: Razlika između brisanja i skraćivanja

Video: Razlika između brisanja i skraćivanja
Video: Духовник - О великој разлици у годинама између супружника, о скраћивању епитимије и о страстима 2024, Novembar
Anonim

Delete vs Truncate

Obje SQL (Structure Query Language) komande, Delete i Truncate se koriste za uklanjanje podataka pohranjenih u tabelama u bazi podataka. Delete je DML (Jezik za upravljanje podacima) izraz i uklanja neke ili sve redove tabele. Klauzula ‘Where’ se koristi za određivanje redova koje je potrebno izbrisati, a ako se klauzula Where ne koristi s naredbom Delete, uklanja sve podatke u tablici. Truncate je DDL (Jezik definicije podataka) naredba i uklanja čitave podatke iz tabele. Obje ove naredbe ne uništavaju strukturu tablice i reference na tablicu, a uklanjaju se samo podaci po potrebi.

Izbriši izvod

Delete izraz omogućava korisniku da ukloni podatke iz postojeće tabele u bazi podataka na osnovu određenog uslova, a 'Where klauzula' se koristi za određivanje ovog uslova. Naredba Delete se naziva evidentirano izvršenje, jer briše samo jedan po jedan red i čuva unos za svako brisanje reda u dnevniku transakcija. Dakle, to uzrokuje usporavanje operacije. Delete je DML izraz, pa se ne urezuje automatski dok se izvršava naredba. Stoga se operacija brisanja može vratiti da bi se ponovo pristupilo podacima, ako je potrebno. Nakon izvršenja naredbe Delete, treba je urezati ili vratiti kako bi se promjene trajno sačuvale. Izjava Delete ne uklanja strukturu tabele iz baze podataka. Takođe ne oslobađa memorijski prostor koji koristi tabela.

Tipična sintaksa za naredbu Delete je navedena ispod.

IZBRIŠI IZ

ili

IZBRIŠI OD GDJE

Skrati izvod

Truncate izraz uklanja sve podatke iz postojeće tabele u bazi podataka, ali čuva istu strukturu tabele, takođe ograničenja integriteta, privilegije pristupa i odnose sa drugim tabelama. Dakle, nije potrebno ponovo definirati tablicu, a može se koristiti i stara struktura tablice, ako korisnik želi ponovo koristiti tablicu. Skraćivanje uklanja čitave podatke oslobađanjem stranica s podacima koje se koriste za čuvanje podataka, a samo ove otpuštanja stranica se čuvaju u dnevniku transakcija. Stoga, naredba truncate koristi samo manje resursa sistema i dnevnika transakcija za rad, tako da je brža od drugih povezanih naredbi. Skraćivanje je DDL naredba, tako da koristi automatske obaveze prije i nakon izvršenja izraza. Stoga, truncate ne može ni na koji način ponovo vratiti podatke. Oslobađa memorijski prostor koji koristi tabela nakon izvršenja. Ali izraz Truncate se ne može primijeniti na tabele na koje se pozivaju ograničenja stranog ključa.

Slijedeća je uobičajena sintaksa za Truncate iskaz.

SKRŽI TABELU

Koja je razlika između Delete i Truncate?

1. Naredbe Delete i Truncate uklanjaju podatke iz postojećih tabela u bazi podataka bez oštećenja strukture tabele ili drugih referenci na tabelu.

2. Međutim, komanda Delete se može koristiti za brisanje određenih redova samo u tabeli koristeći relevantan uslov, ili za brisanje svih redova bez ikakvih uslova, dok se komanda Skraći može koristiti samo za brisanje čitavih podataka u tabeli.

3. Delete je DML naredba i može vratiti operaciju ako je potrebno, ali Truncate je DDL naredba, tako da je to naredba za automatsko urezivanje i ne može se vratiti ni na koji način. Stoga je važno pažljivo koristiti ovu naredbu u upravljanju bazom podataka.

4. Operacija skraćivanja troši manje sistemskih resursa i resursa dnevnika transakcija nego operacija brisanja, stoga se skraćivanje smatra bržim od brisanja.

5. Takođe, Delete ne oslobađa prostor koji koristi tabela, dok Truncate oslobađa prostor koji se koristi nakon izvršenja, tako da Delete nije efikasno u slučaju brisanja čitavih podataka iz tabele baze podataka.

6. Međutim, Truncate nije dozvoljeno koristiti kada je tabela referencirana ograničenjem stranog ključa, iu tom slučaju, naredba Delete se može koristiti umjesto Truncate.

7. Konačno, obje ove komande imaju prednosti, ali i nedostatke u njihovoj primjeni u sistemima za upravljanje bazama podataka i korisnik bi trebao biti svjestan upotrebe ovih komandi na odgovarajući način kako bi postigao dobre rezultate.

Preporučuje se: