Izbriši vs skraćivanje
Obje naredbe SQL (jezik upita za strukturu), Delete i Truncate koriste se za uklanjanje podataka pohranjenih u tablicama u bazi podataka. Delete je izraz DML (jezik upravljanja podacima) i uklanja neke ili sve retke tablice. 'Gdje klauzula' koristi se za određivanje redaka koje je potrebno izbrisati, a ako se klauzula Where ne koristi s izjavom Delete, uklanja sve podatke u tablici. Truncate je DDL (Data Definition Language) izjava i uklanja cijele podatke iz tablice. Obje ove naredbe ne uništavaju strukturu tablice i reference na tablicu, a uklanjaju se samo podaci prema potrebi.
Izbriši izjavu
Izjava Delete omogućuje korisniku uklanjanje podataka iz postojeće tablice u bazi podataka na temelju određenog uvjeta, a za određivanje ovog stanja koristi se 'Where clause'. Naredba Delete naziva se izvršenom zabilježbom, jer briše samo jedan redak odjednom i zadržava unos za svako brisanje retka u dnevniku transakcija. Dakle, to uzrokuje usporavanje operacije. Delete je DML izjava i zato se ne izvršava automatski tijekom izvršavanja naredbe. Stoga se operacija Izbriši može povući za ponovno pristupanje podacima, ako je potrebno. Nakon izvršenja naredbe Delete, treba je obuzeti ili vratiti natrag kako bi se trajno spremile promjene. Izjava Delete ne uklanja strukturu tablice iz baze podataka. Također ne razvrstava memorijski prostor koji koristi tablica.
Donja je navedena tipična sintaksa za naredbu Delete.
IZUZETI OD
ili
ODLIČITE OD GDJE
Skraćivanje izjave
Izrez Truncate uklanja sve podatke iz postojeće tablice u bazi podataka, ali zadržava istu strukturu tablice, također ograničenja integriteta, privilegije pristupa i odnose s drugim tablicama. Dakle, nije potrebno ponovno definirati tablicu, a stara se struktura tablice može koristiti ako korisnik želi ponovo koristiti tablicu. Truncate uklanja cijele podatke razmještanjem stranica s podacima koji se koriste za čuvanje podataka, a samo se ovi razmještaji stranica čuvaju u dnevniku transakcija. Stoga naredba skraćivanje koristi samo manje resursa sustava i zapisa dnevnika za rad, tako da je brža od ostalih povezanih naredbi. Truncate je DDL naredba, pa koristi automatske obveze prije i nakon izvršenja izjave. Dakle, skraćivanje podataka ne može ponovno vratiti podatke ni na koji način. Oslobađa prostor od memorije koji koristi tablica nakon izvršenja. No skraćeni iskaz ne može se primijeniti na tablice na koje se pozivaju ograničenja stranih ključeva.
Slijedi uobičajena sintaksa za Truncate izjavu.
TRUNCATNA TABELA
Koja je razlika između brisanja i skraćivanja? 1. Naredbe za brisanje i skraćivanje uklanjaju podatke iz postojećih tablica u bazi podataka bez oštećenja strukture tablice ili drugih referenci na tablicu. 2. Međutim, naredba Delete može se koristiti za brisanje određenih redaka samo u tablici pomoću relevantnog uvjeta ili za brisanje svih redaka bez ikakvog uvjeta, dok se naredba Truncate može koristiti samo za brisanje cijelih podataka u tablici. 3. Delete je naredba DML i može poništiti operaciju ako je potrebno, ali Truncate je naredba DDL, pa je to izjava za automatsko počinjenje i ne može se vratiti na bilo koji način. Stoga je važno pažljivo koristiti ovu naredbu u upravljanju bazama podataka. 4. Operacija skraćivanja troši manje resursa sustava i resursa dnevnika transakcija u odnosu na operaciju Delete, pa se skraćenje smatra bržim od Delete. 5. Također, Delete ne raspodjeljuje prostor koji koristi tablica, dok Truncate oslobađa prostor koji se koristi nakon izvršenja, tako da Delete nije učinkovito u slučaju brisanja svih podataka iz tablice baze podataka. 6. Međutim, skraćivanje Truncate-a nije dopušteno kada se na tablicu poziva ograničenje stranog ključa i u tom se slučaju umjesto Truncate može koristiti naredba Delete.. 7. Konačno, obje ove naredbe imaju i prednosti, ali i nedostatke u njihovoj primjeni u sustavima za upravljanje bazama podataka, a korisnik bi trebao biti svjestan da te naredbe koristi na odgovarajući način za postizanje dobrih rezultata..
|